我正在使用美國社區調查微觀數據,使用survey
包,並希望計算一些基本的收入不平等統計。我已經設置了以下爲我的設計:使用R調查軟件包測量收入不平等
testsurv <- svrepdesign(data=test, repweights = test[,8:87], weights = test$HHWT,
combined.weights=TRUE, type = "Fay", rho = 0.5,scale=4/80,
rscales = rep(1, 80), mse=TRUE)
從這一點,我想通過計算每年基尼係數,以及收入的比例位數也由一年。生成位數與相關的錯誤是直接使用svyby
和svyquantile
:
quants <- svyby(~INCOME, ~YEAR, testsurvey, svyquantile,
quantiles=c(0.9, 0.75, 0.5, 0.25, 0.1), keep.var=TRUE)
這使我想到我的第一個問題:我如何計算的,如果我的收入分位數的比例(例如90/10)的標準誤差每個分位數都有基於重量的重複錯誤?我嘗試使用svyratio
,但這是針對整個變量的比率,而不是變量中選定的觀察值。
第二個問題:有沒有一種方法可以使用現有功能從reldist
計算基尼係數(帶有基於複製的錯誤)在survey
之內?我嘗試使用withReplicates
,但它不能很好地工作,也許是因爲gini
命令它的參數作爲變量,然後權重,但指令withReplicates
指定相反的順序。我嘗試了兩種方法,但都沒有成功。例如,這其中HHWT是樣品重量:
> withReplicates(testsurv, gini(~HHWT, ~INCOME))
即產生以下錯誤消息:
Error in sum(weights) : invalid 'type' (language) of argument
In addition: Warning message:
In is.na(x) : is.na() applied to non-(list or vector) of type 'language'
謝謝安東尼 - 我期待着嘗試一下(也感謝你的偉大的網站,這是一個很好的資源)! – user115457
它現在在CRAN –
安東尼 - 這是一個荒謬的遲到迴應,但我想感謝你指向這個夢幻般的包。這是一項偉大的貢獻,對我的項目來說是不可或缺的。 – user115457