r中字符列表的for循环问题

问题描述 投票:0回答:1

我需要运行多元逻辑回归,每次只有一个预测变量发生变化(其他协变量保持不变)。我尝试在 R 中使用 for 循环。

我收到这条我不明白的错误信息:

Error in model.frame.default(formula = VD ~ v + covar1 + covar2 + covar3, : 
variable lengths differ (found for 'v')

这是我的代码(实际上,我有 3 个以上的变量要建模,但假设我只有 3 个):

var_list <- c("var1", "var2", "var3")

mydata$covar3 <- factor(mydata$covar3)

for (v in var_list) {
  
  results <<- glm (VD ~ v + covar1 + covar2 + covar3, 
                data = mydata, family = "binomial")
  
}

我检查了每个变量的长度是否相同(原来如此!)。

只有 covar3 是分类的; covar1 和 covar2 是数值变量。

当我在循环外运行相同的代码时,比如仅针对 var1,一切正常。我的循环是如何产生这个问题的?

在此先感谢您的帮助

r for-loop logistic-regression
1个回答
0
投票

当我们在 R 中进行回归时,如果我们有一个分类预测变量,通常我们不必调整不同的模型。所以,试试:

results <- glm (VD ~ v + covar1 + covar2 + covar3,  data = mydata, family = "binomial")

© www.soinside.com 2019 - 2024. All rights reserved.