所以我试图对我拥有的某些数据进行单因素逻辑回归分析。
基本上我有一个带有1个响应变量和50个预测变量的数据框。
为了对其进行分析,我只使用glm
函数:
glm(response_var~predictor_var1, data = mydata, family = binomial(link=logit))
但是,我不想为所有50个预测变量手动执行此操作,而且看起来这里的循环似乎并不可行。我试图说这样的话:
predictors <- colnames(mydata)[-c(1)]
glm_list <- list()
i <- 1
for (predictor in predictors) {
model <- glm(response_var~predictor, data = mydata, family = binomial(link=logit))
glm_list[[i]] <- model
i <- i + 1
}
所以在这里,我只创建了一个列表,其中包含通过colnames
在数据框中的预测变量的名称。
但是这样做时,我只会得到错误:
variable lengths differ (found for 'predictors')
我在这里做什么错了?
答案 0 :(得分:1)
尝试使用lapply和as.formula():
last_autovacuum
您要传递一个字符向量,首先必须将其强制为公式。
希望有帮助。