私はRを初めて使用し、データを異なるデータフレームで正規化する関数を作成しようとしています。
正規化プロセスは非常に簡単です。正規化したい数値を各オブジェクトの人口サイズ (テーブル人口に格納されている) で割るだけです。どのオブジェクトが互いに関連しているかを知るために、最初の列の各データフレームに格納されている ID を使用しようとしました。
人口データフレームにある一部のオブジェクトには、正規化するデータフレームに対応するオブジェクトがないため、そうすることにしました。つまり、データフレームにはオブジェクトが少ない場合があります。
通常はリレーショナル データベースを構築しますが (私も試しました)、うまくいきませんでした。そのため、関数内でオブジェクトを関連付けようとしましたが、関数は機能しませんでした。たぶん、あなたの誰かがこれを経験していて、私を助けることができます.
したがって、この関数を作成しようとしたのは次のとおりです。
# Load Tables
# Agriculture, Annual Crops
table.annual.crops <-read.table ("C:\\Users\\etc", header=T,sep=";")
# Agriculture, Bianual and Perrenial Crops
table.bianual.crops <-read.table ("C:\\Users\\etc", header=T,sep=";")
# Fishery
table.fishery <-read.table ("C:\\Users\\etc", header=T,sep=";")
# Population per Municipality
table.population <-read.table ("C:\\Users\\etc", header=T,sep=";")
# attach data
attach(table.annual.crops)
attach(table.bianual.crops)
attach(table.fishery)
attach(table.population)
# Create a function to normalize data
# Objects should be related by their ID in the first column
# Values to be normalized and the population appear in the second column
funktion.norm.percapita<-function (x,y){if(x[,1]==y[,1]){x[,2]/y[,2]}else{return("0")}}
# execute the function
funktion.norm.percapita(table.annual.crops,table.population)