【发布时间】:2017-11-02 19:07:24
【问题描述】:
我有一项大型调查(约 250 个变量),并希望生成所有变量的估计值和标准误,然后与同事分享该结果。似乎这应该很简单,但到目前为止,我在文档中找不到类似的问题或示例。
我的例子来自survey包中的数据:
data(api)
## one-stage cluster sample
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
svytotal(~api00, dclus1, deff = TRUE)
svytotal(~api99, dclus1, deff = TRUE)
我知道我可以通过上述方法产生每个变量的估计值和误差,或者产生下面的 2-way 结果:
svytotal(~api00+api99, dclus1, deff = TRUE)
但是,我的目标是一步生成每个变量的估计值和误差,即
svytotal(~(c(pcttest:api.stu)), dclus1, deff = TRUE)
因此它返回了以下所有变量的估计值和误差:
apiclus1[, 11:37]
是否有通过调查包或srvyr 包的解决方案?
【问题讨论】:
-
也许
svytotal( as.formula( paste( "~" , paste( names( apiclus1 )[11:37 ] , collapse = "+" ) ) ) , dclus1 , deff = TRUE )? -
感谢您的评论。不是我想要的,但它让我得到了这个回复:lapply and survey。我把它改成了:` lapply( variables , function( z ) svytotal( as.formula( paste0( "~" , z) ) , dclus1, svytotal , vartype = 'se' ) )`