如何解决如何循环变量并在R中存储每个变量的测试结果
我正在尝试分析R中的多个变量,并希望存储结果。但是,该代码不起作用,请提供任何帮助。谢谢。
varibles <- colnames(mydata)
result <- data.frame(matrix(nrow = length(varibles),ncol = 2))
colnames(result) <- c("variable","coef")
for (i in 1:length(varibles)) {
var=varibles[i] # this var return [1] 'variable1'
result[i,1] <-var # this line does not change result[i,1] to var
var=mydata$var # this returns error message,Unknown or uninitialised column: 'var'
var=as.numeric(var)
mod<-glm(y~var,family="binomial")
res<-summary(mod)$coef
result[i,2] <- as.character(res)
}
result
解决方法
尝试将lapply
与reformulate
一起使用来创建公式。
result <- do.call(rbind,lapply(varibles,function(x) {
mod<-glm(reformulate(x,"y"),family="binomial")
res <- summary(mod)$coef
data.frame(variable = x,coef = res)
}))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。