我在嘗試使用裝箱的人口普查數據計算基尼係數時遇到了一些困難,並且非常感謝您的幫助。如何創建for循環來計算r中分箱數據的gini函數?
我的數據看起來有點像這樣(但有14,000觀察值的13個變量)。
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)
所以對於每個觀測有給出一個位置,然後顯示在該地區的許多家庭如何給定的收入階層(所以對位置的內獲得一系列的列,20戶獲得$ 0,13賺income1 ,27個收入2和0個收入3)。
我創建一個空欄,將結果返回給:
df$gini = 0
我然後創建(x)的含有欲用於每個收入倉
收入量的數值矢量x <- c(0, 300, 1000, 2000)
我一直在試圖使用reldist包內的基尼功能,並已寫入通過數據的每一行循環循環下,運用基尼功能和輸出返回到一個新列。
for (i in 1:nrow(samp)){
w <- samp[i,2:5]
df$gini <- gini(x, w=rep(1, length=length(x)))
}
問題是返回的輸出當前對每一行都是相同的,這顯然是不正確的。我雖然比較新,但不知道我在做什麼錯...
你可以提供一些數據嗎? (編輯你的問題) – jogo
我現在正在更新我的答案我已經試過了這個包,你確實需要循環! – MikeRSpencer