使用R调查数据包测量收入不平等

使用R调查数据包测量收入不平等,r,survey,inequality,gini,R,Survey,Inequality,Gini,我正在使用调查软件包处理美国社区调查微观数据,并希望计算一些基本的收入不平等统计数据。我已将以下内容设置为我的设计: testsurv <- svrepdesign(data=test, repweights = test[,8:87], weights = test$HHWT, combined.weights=TRUE, type = "Fay", rho = 0.5,scale=4/80, rscales

我正在使用
调查
软件包处理美国社区调查微观数据,并希望计算一些基本的收入不平等统计数据。我已将以下内容设置为我的设计:

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)
这就引出了我的第一个问题:如果每个分位数都有重复的基于权重的误差,我如何计算收入分位数比率(例如90/10)的标准误差?我尝试使用
svyratio
,但这是针对整个变量的比率,而不是针对变量中选定的观察值

第二个问题:是否有一种方法可以使用
reldist
中的
gini
等现有函数计算
调查中的基尼系数(基于重复的误差)?我尝试将
与replicates一起使用,但效果不佳,可能是因为
gini
将其参数排序为变量,然后是权重,但是
与replicates一起使用的说明指定了相反的顺序。我试了两种方法,但都不管用。例如,其中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'

使用R传送包。这在CRAN上尚不可用,但您可以使用快速安装

devtools::install_github("djalmapessoa/convey")
对于第90位与第10位的比率,使用
?svyqsr
函数并将
alpha=
设置为
0.1
,因为它默认为第80位和第20位

对于基尼系数,使用
?svygini
函数


只要你有acs复制加权调查设计,这两个都应该是简单的计算。确保在调用
svrepdesign
后立即使用
transfer_prep
功能

谢谢Anthony-我期待着尝试一下(也感谢你的伟大网站,这是一个伟大的资源)!这是在CRAN nowAnthony上-这是一个可笑的迟到回复,但我想感谢你为我提供了这个神奇的软件包。这是一个巨大的贡献,对我的项目来说是不可或缺的。
devtools::install_github("djalmapessoa/convey")