繁体   English   中英

在多个预测变量上进行glm的单变量logistic回归分析

[英]Univariate logistic regression analysis with glm on multiple predictors

因此,我尝试对我拥有的某些数据进行单因素逻辑回归分析。

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

我在这里做错了什么?

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

"%+%" <- function(x,y) paste(x, y, sep = "")

lapply(predictors, function(x){
  glm(as.formula("response_var ~ " %+% x), data = mydata, family = binomial(link = logit))
})

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

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM