用HAC估算器替换OLS的std.error,并使用stargazer打印表

时间:2018-04-26 08:35:32

标签: r stargazer

这是我第一次在这里发帖。

我正在处理一个案例,我使用 dynlm 来使用时间序列数据进行简单的ols估计。此外,我想用HAC估算器替换标准误差,并将一些传统的截断值替换为滞后变量。代码如下:

dat <- ts(data)
reg <- dynlm(y ~ x1 + x2 + x3, data = dat)
ols <- summary(reg)
robust <- coeftest(reg, vcov=NeweyWest(reg, lag = round(0.75 * length(time(reg))^(1/3))))
ols$coefficients[,2:4] <- robust[,2:4]
ols

我在16个数据集中使用相同的方法,现在我想使用 stargazer 将结果打印到乳胶表中。但是,包只能通过线性模型的结果而不是其摘要生成表(以前面的代码为例, stargazer 可以应用于 reg 而不是 ols ),我已经知道了。

在我看来,有两种方法可以解决它

  1. 通过使用回归摘要找到生成乳胶表的方法。
  2. 替换 reg 中的std错误,t stats和p值,而不是摘要(reg)中的那些。
  3. 你能给我一个帮助真是太好了!谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了您的问题,但如果我这样做,答案很简单并已在此主题中提供:Extending Stargazer to multiwaycov

您只需使用

直接向stargazer函数提供强大的标准误差和p值
stargazer(ols, ..., se = robust[,2], p = robust[,4], p.auto = F)

无需提供t统计数据,因为它们是由观星者根据提供的标准计算的。错误和系数。

我强烈建议您在发布问题之前阅读观星文档并仔细搜索。