【问题标题】:How do I run several linear regressions at once in R?如何在 R 中一次运行多个线性回归?
【发布时间】:2020-10-16 14:56:45
【问题描述】:

如果我有一个包含变量 A、X、Y 和 Z 的数据集,并且我想运行两个线性回归 - 两者都以 A 作为因变量,但一个以 X 作为自变量,另一个以 Y(注意 -不是多元回归),我该怎么办?

lm(A ~ X, Y, df = df) 似乎不起作用,显然lm(A ~ X + Y, df = df) 变成了多元回归。我可以使用lm(A ~ ., - Z, df = df),但我正在寻找一种可以选择多个变量用作自变量的方法。谢谢。

【问题讨论】:

  • 试试lm(A ~ X | Y, df

标签: r lm


【解决方案1】:

nlme 中的lmList 可以一次运行多个回归:

library(nlme)

DF <- data.frame(A = 1:10, X = 1:5, Y = 11:15, Z = 1:10)

DF2 <- cbind(A = DF$A, stack(DF[c("X", "Y")]))
lmList(A ~ values | ind, DF2)

【讨论】:

    【解决方案2】:

    这是使用 formulas()modelr 的替代方法:

    df <- data.frame(A = 1:10, X = 1:5, Y = 11:15, Z = 1:10)
    
    library(modelr)
    
    ll <- formulas(~ A,
                  m1 = ~ X,
                  m2 = ~ Y
    )
    
    results_list <- lapply(ll, lm, data = df)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 2013-01-17
      • 2017-05-05
      • 1970-01-01
      • 2017-02-15
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多