r - 来自多个多元回归输出的汇总数据框

标签 r dataframe lm

我正在进行多次 OLS 回归。我使用了以下 lm 函数:

GroupNetReturnsStockPickers <- read.csv("GroupNetReturnsStockPickers.csv", header=TRUE, sep=",", dec=".")
ModelGroupNetReturnsStockPickers <- lm(StockPickersNet ~ Mkt.RF+SMB+HML+WML, data=GroupNetReturnsStockPickers)
names(GroupNetReturnsStockPickers)
summary(ModelGroupNetReturnsStockPickers)

这给了我以下的摘要输出:

    Call:
  lm(formula = StockPickersNet ~ Mkt.RF + SMB + HML + WML, data = GroupNetReturnsStockPickers)

Residuals:
  Min        1Q    Median        3Q       Max 
-0.029698 -0.005069 -0.000328  0.004546  0.041948 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)
(Intercept)  4.655e-05  5.981e-04   0.078    0.938
Mkt.RF      -1.713e-03  1.202e-02  -0.142    0.887
SMB          3.006e-02  2.545e-02   1.181    0.239
HML          1.970e-02  2.350e-02   0.838    0.403
WML          1.107e-02  1.444e-02   0.766    0.444

Residual standard error: 0.009029 on 251 degrees of freedom
Multiple R-squared:  0.01033,   Adjusted R-squared:  -0.005445 
F-statistic: 0.6548 on 4 and 251 DF,  p-value: 0.624

这太完美了。但是,我总共进行了 10 次多重 OLS 回归,并且希望在数据框中创建自己的汇总输出,其中我分别为所有 10 次分析提取截距估计、t 值估计和 p 值。因此,它将是 10x3,其中列名称为 Model1、Model2、..、Model10,行名称为:Value、t 值和 p 值。

我很感激任何帮助。

最佳答案

有几个软件包可以执行此操作(stargazer 和 texreg)以及 outreg 的代码.

无论如何,如果您只对拦截感兴趣,这里是一种方法:

# Estimate a bunch of different models, stored in a list
fits <- list() # Create empty list to store models
fits$model1 <- lm(Ozone ~ Solar.R, data = airquality)
fits$model2 <- lm(Ozone ~ Solar.R + Wind, data = airquality)
fits$model3 <- lm(Ozone ~ Solar.R + Wind + Temp, data = airquality)

# Combine the results for the intercept
do.call(cbind, lapply(fits, function(z) summary(z)$coefficients["(Intercept)", ]))


# RESULT:
#                  model1       model2        model3
# Estimate   18.598727772 7.724604e+01 -64.342078929
# Std. Error  6.747904163 9.067507e+00  23.054724347
# t value     2.756222869 8.518995e+00  -2.790841389
# Pr(>|t|)    0.006856021 1.052118e-13   0.006226638

关于r - 来自多个多元回归输出的汇总数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35637535/

相关文章:

python - 如何使用对应字典重命名 pd.value_counts() 索引

r - 如何根据另一列中较大的值过滤行?

r - 模型矩阵不兼容 - R 中 Biglm 包中的更新错误

r - 在 R 中为堆叠直方图创建条形边框

r - 对于所有 block 是否有一个全局命令行 knit 选项 eval=FALSE ?

python - 如何使用 Apache Spark Dataframes 执行 Switch 语句 (Python)

r - 当因变量是因子/分类变量时的线性模型 (lm)?

r - 迭代列表并追加以在 R 中进行回归

r - ggline有2种美学

r - 仅从 R 中的 .csv 文件导入每第 N 行