我正在使用美国社区调查微观数据,使用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