在 R 中使用 glm 函数循环

Looping with glm function in R

所以我只是尝试使用 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 循环执行此操作时,嗯,这就是我得到的。

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