我有一些问题,可能很简单,但到目前为止我还没有弄清楚。
所以我有一个调查设计如下:
design1 = svrepdesign(
weights=~W10,
repweights=W,
data = imputationList(list(imp1, imp2, imp3, imp4, imp5)),
scale = 1,
rscales = rep(1/999,1000),
mse = FALSE,
type = "bootstrap",
combined.weights = TRUE
)
它与包装调查中的 svyby、svyquantiles 等完美配合,例如:
median_income_by_country = MIcombine(
with(
design1,
svyby(
~income,
~country,
svyquantile,
0.5,
method="constant",
interval.type="quantile",
na.rm = TRUE,
multicore=TRUE
)
)
)
现在我需要使用传送包计算基尼指数和其他复杂的调查测量,例如广义熵和分解(svygei,svygeidec)。
因此,我从最简单的计算开始测试,即:
require (convey)
design2 <- convey_prep(design1)
gini.index <- svygini(~income, design = design2)
最后一行返回错误:
UseMethod("svygini", design) 中的错误:
没有适用于"svygini"的方法应用于类"c('convey.design', 'svyimputationList')"的对象
因此,我的问题是如何纠正它?
来自 http://asdfree.com/survey-of-consumer-finances-scf.html
library(convey)
scf_design$designs <- lapply( scf_design$designs , convey_prep )
lodown:::scf_MIcombine( with( scf_design , svygini( ~ networth ) ) )