在R中使用glm函数循环

时间:2019-04-04 09:05:02

标签: r glm

所以我只是想使用glm命令来做一些非常简单的事情。 我有一个数据框架,其中有10列,具有不同的名称和数据。然后,我只需要执行以下操作:

variables <- c("reponse_var", "var1", "var2", "var3", "var4", "var5", "var6", "var7", "var8", "var9")

for (variable in variables) {
    reg <- glm(response_var ~ variable, data = df, family = binomial(link = logit))
    summary(reg)

因此,基本上,它应该只对每个变量使用glm函数,然后输出输出。但这是行不通的。输出为:

variable lengths differ (found for 'variable')

我认为,自data = df起,它已经知道应该从哪个数据帧中获取数据,通常只需在glm函数中写入列名就足够了。但是,当使用for循环执行此操作时,这就是我所得到的。

1 个答案:

答案 0 :(得分:2)

一种可能的解决方案是将response_varvariable打包到formula()对象中,然后将那个馈入回归。 我认为这里的错误是您正在将字符串对象输入glm()中。