gpt4 book ai didi

r - 使用 R 调查包衡量收入不平等

转载 作者:行者123 更新时间:2023-12-03 16:53:55 27 4
gpt4 key购买 nike

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

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但那是针对整个变量的比率,而不是针对变量内的选定观察值。

第二个问题:有没有办法计算 survey 内的基尼系数(带有基于重复的误差)使用现有函数,如 gini来自 reldist ?我尝试使用 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'

最佳答案

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

devtools::install_github("djalmapessoa/convey")

对于 90 和 10 的比率,使用 ?svyqsr功能和设置 alpha=0.1因为它默认为 80th 和 20th

对于基尼系数,使用 ?svygini功能

只要您有 acs 重复加权调查设计,这些都应该是简单的计算。请务必使用 convey_prep紧跟在 svrepdesign 之后的函数称呼!

关于r - 使用 R 调查包衡量收入不平等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37556641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com