【发布时间】:2018-11-17 20:48:30
【问题描述】:
我有一个数据表,其中包含 25 个不同股票投资组合的年回报率和 2 个解释变量。我想为标准误差经过 NeweyWest 校正的 25 个投资组合中的每一个估计相同的 lm 模型。到目前为止,我正在使用来自dplyr 的group_by 在每个投资组合上运行模型,然后使用来自lmtest 包的coeftest 以及来自sandwich 包的NeweyWest 更正标准错误,用@ 总结来自broom 包的987654328@:
library(dplyr)
library(broom)
library(lmtest)
library(sandwich)
regressions <- data %>%
group_by(Portfolio) %>%
do({fit = lm(Portfolio_return ~ x1 + x2, data = .)
tidy(coeftest(fit, vcov. = NeweyWest(fit, prewhite = FALSE)))
})
我的问题:
-
代码为我提供了系数加上 p 值,但是如何在 NeweyWest 调整后获得所有模型的所有其他汇总统计数据,如 r2、F 检验等?我喜欢
broom包中的tidy、glance和augment,但是当我运行regressions %>% glance(fit)时,我得到致命错误并且R 崩溃。 -
如何将所有 25 个模型的所有统计数据(如系数、p 值、R2)汇总到一个
data.table或data.frame中?
非常感谢!
【问题讨论】:
标签: r time-series regression lm broom