所以我只是想使用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循环执行此操作时,这就是我所得到的。
答案 0 :(得分:2)
一种可能的解决方案是将response_var
和variable
打包到formula()
对象中,然后将那个馈入回归。
我认为这里的错误是您正在将字符串对象输入glm()
中。