-1

我有一些问题,可能很简单,但到目前为止我还没有弄清楚。

所以我有一个调查设计如下:

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”,设计)中的错误:

没有适用于“svygini”的方法应用于“c('convey.design','svyimputationList')”类的对象

因此我的问题是如何纠正它?

4

1 回答 1

1

来自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 ) ) )
于 2017-10-27T14:58:57.323 回答