【发布时间】:2012-09-24 22:29:13
【问题描述】:
我已经构建了一个 R 函数,它在一系列列上使用相同的解释变量。我已经使用了glm 函数,但现在我需要对调查包中的svyglm 执行相同的操作。我遇到的主要问题是我无法像在glm 中那样使用svyglm(Data[,i]~explanatoryVariables) 来构建循环,因为它不喜欢列名(但在循环中非常实用)。
例如,如果你尝试
library(survey)
data(api)
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
summary(svyglm(api00~ell+meals+mobility, design=dstrat))
一切都很好,但是如果你想通过使用列号(这里是 13)循环几个因变量,你会得到一个错误
summary(svyglm(apistrat[,13]~ell+meals+mobility,data=apistrat, design=dstrat))
有谁知道如何解决这个问题?举一个简单的例子(不管统计准确性或链接功能),我需要在普通glm 中实现等效,但使用svyglm 代替
for(i in (12:15)){
print(glm(apistrat[,i]~ ell+meals,data=apistrat)$aic)
}
【问题讨论】:
标签: r