我有一个这样的数据帧(FF_port_monthly_MAX)
date 1 2 3 mkreturn SML HML
2/1/2007 2.42 -0.11 4.41 0.41 0.06 0.61
3/1/2007 4.13 2.36 6.92 0.03 0.99 -0.38
4/1/2007 -0.13 -3.20 1.99 0.24 -3.20 -5.64
5/1/2007 11.50 9.13 8.96 0.14 1.13 -2.58
我使用此公式对具有三个自变量的前三列进行回归:
fit <- lapply(FF_port_monthly_MAX[,2:4], function(x) lm(x ~ mkreturn + SML + HML, data = FF_port_monthly_MAX))
现在我喜欢使用此代码提取系数和t stat
summary(fit)
但是我最终得到这样的输出
Length Class Mode
1 12 lm list
2 12 lm list
3 12 lm list
现在有人可以帮助我为什么它不显示系数和t值吗?
答案 0 :(得分:1)
您也可以尝试使用tidyverse
方法
library(tidyverse)
FF_port_monthly_MAX %>%
select(starts_with("X"), mkreturn, SML, HML) %>%
gather(key, value, -mkreturn, -SML, -HML) %>%
split(.$key) %>%
map(~lm(formula = value ~ mkreturn + SML + HML, data=.)) %>%
map(~broom::tidy(.)) %>%
bind_rows(.id = "run")
# A tibble: 12 x 6
run term estimate std.error statistic p.value
<chr> <chr> <dbl> <dbl> <dbl> <dbl>
1 X1 (Intercept) -1.81 NaN NaN NaN
2 X1 mkreturn 13.2 NaN NaN NaN
3 X1 SML 4.68 NaN NaN NaN
4 X1 HML -2.39 NaN NaN NaN
5 X2 (Intercept) -3.45 NaN NaN NaN
6 X2 mkreturn 10.8 NaN NaN NaN
7 X2 SML 4.68 NaN NaN NaN
8 X2 HML -2.24 NaN NaN NaN
9 X3 (Intercept) 4.47 NaN NaN NaN
10 X3 mkreturn 0.653 NaN NaN NaN
11 X3 SML 2.16 NaN NaN NaN
12 X3 HML -0.757 NaN NaN NaN