ビン化された国勢調査データを使用してジニ係数を計算しようとすると、いくつかの問題が発生します。助けていただければ幸いです。
私のデータはこのように少し見えます (ただし、13 変数の 14,000 の観測があります)。
location <- c('A','B','C', 'D', 'E', 'F')
no_income <- c(20, 1, 40, 79, 12, 2)
income1 <- c(13, 4, 56, 17, 9, 4)
income2 <- c(27, 39, 49, 12, 19, 0)
income3 <- c(0, 1, 4, 3, 27, 0)
df <- data.frame(location, no_income, income1, income2, income3)
したがって、観測ごとに場所が指定され、次に、その地域で指定された所得区分内で稼いでいる世帯数を示す一連の列があります (つまり、場所 A では、20 世帯の収入は 0 ドル、13 世帯の収入は 1、27 世帯の収入は 2、0 収入は 3 です)。 )。
結果を返す空の列を作成しました。
df$gini = 0
次に、各収入ビンに使用する収入額を含む数値ベクトル (x) を作成しました。
x <- c(0, 300, 1000, 2000)
私は reldist パッケージ内でジニ関数を使用しようとしており、次の for ループを記述して、データの各行を循環し、ジニ関数を適用して、出力を新しい列に返します。
for (i in 1:nrow(samp)){
w <- samp[i,2:5]
df$gini <- gini(x, w=rep(1, length=length(x)))
}
問題は、返される出力が現在各行で同一であることです。これは明らかに正しくありません。私はこれに比較的慣れていませんが、何が間違っているのかわかりません...