基于glm的多变量单因素逻辑回归分析

时间:2019-03-20 14:23:20

标签: r glm

所以我试图对我拥有的某些数据进行单因素逻辑回归分析。

基本上我有一个带有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')

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试使用lapply和as.formula():

last_autovacuum

您要传递一个字符向量,首先必须将其强制为公式。

希望有帮助。