创建用于svyglm的插补列表

时间:2018-01-28 19:41:47

标签: r survey imputation

使用survey包,我在创建imputationList svydesign将接受的library(tibble) library(survey) library(mitools) # Data set 1 # Note that I am excluding the "income" variable from the "df"s and creating # it separately so that it varies between the data sets. This simulates the # variation with multiple imputation. Since I am using the same seed # (i.e., 123), all the other variables will be the same, the only one that # will vary will be "income." set.seed(123) df1 <- tibble(id = seq(1, 100, by = 1), gender = as.factor(rbinom(n = 100, size = 1, prob = 0.50)), working = as.factor(rbinom(n = 100, size = 1, prob = 0.40)), pweight = sample(50:500, 100, replace = TRUE)) # Data set 2 set.seed(123) df2 <- tibble(id = seq(1, 100, by = 1), gender = as.factor(rbinom(n = 100, size = 1, prob = 0.50)), working = as.factor(rbinom(n = 100, size = 1, prob = 0.40)), pweight = sample(50:500, 100, replace = TRUE)) # Data set 3 set.seed(123) df3 <- tibble(id = seq(1, 100, by = 1), gender = as.factor(rbinom(n = 100, size = 1, prob = 0.50)), working = as.factor(rbinom(n = 100, size = 1, prob = 0.40)), pweight = sample(50:500, 100, replace = TRUE)) # Create list of imputed data sets impList <- imputationList(df1, df2, df3) # Apply NHIS weights weights <- svydesign(id = ~id, weight = ~pweight, data = impList) 时遇到问题。这是一个可重复的例子:

Error in eval(predvars, data, env) : 
  numeric 'envir' arg not of length one

我收到以下错误:

[
 { 
  "media1":[ 
            {"name":"Lynn"},
            {"name":"Michelle"},
            {"name":"Carter"}
           ]
 },
 { 
  "media2":[ 
            {"price":"23"},
            {"price":"76"},
            {"price":"39"}

           ]
 }
]

2 个答案:

答案 0 :(得分:0)

为了让它发挥作用,我需要直接将imputationList添加到svydesign,如下所示:

weights <- svydesign(id = ~id, 
                         weight = ~pweight, 
                         data = imputationList(list(df1, 
                                                    df2, 
                                                    df3)) 

答案 1 :(得分:0)

http://asdfree.com/national-health-interview-survey-nhis.html提供的分步说明,详细介绍了如何创建乘法推算的nhis设计,以及下面包含svyglm次调用的分析示例。避免将library(data.table)library(dplyr)library(survey)

一起使用