【问题标题】:For Loop for Regression in R?For循环在R中进行回归?
【发布时间】:2021-12-26 14:32:56
【问题描述】:

我正在尝试为 CAPM 模型运行回归。 这是公式Ri= a+b(rmrf)+e 我的 Ri 是 XS1 我有 XS1-XS10,想运行回归并将它们全部存储。

【问题讨论】:

    标签: r for-loop regression


    【解决方案1】:

    您可以同时拟合具有多个因变量的模型。

    reg <- lm(paste0("cbind(", paste0("XS", 1:10, collapse = ","), ") ~ rmrf"), 
              data = df)
    summary(reg) 
    

    【讨论】:

    • 哦,谢谢罗兰!如果我需要在 XS1 的回归中访问 beta 怎么办?我尝试了 reg$XS1, reg[1] 但都不起作用。
    • coef(reg) 将系数提取为矩阵,其中每列对应一个响应变量。如果您需要统计数据,您可以使用 summary(reg) 甚至像 lapply(summary(reg), "[", "coefficients") 这样的东西。
    【解决方案2】:
    for (i in (1:10)){
      assign(paste0("reg_", i), lm(paste0("XS", i, "~rmrf", sep= ""),data=df))
     }
    

    这就是你的做法。 paste0 帮助您将i 添加到您的公式中。您将拥有 reg_1 到 reg_10 。 assign 帮助您将第二部分的公式输入分配给第一部分。 reg_i lm(..) 的公式。

    【讨论】:

    • 不,这不是你的做法。使用列表来存储模型,而不是滥用assign
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2015-11-20
    • 2017-12-06
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多