【问题标题】:Replace std.error of OLS by HAC estimator, and use stargazer to print table用HAC估计器替换OLS的std.error,并使用stargazer打印表格
【发布时间】:2018-05-29 17:35:11
【问题描述】:

这是我第一次在这里发布问题。

我正在处理一个案例,我使用时间序列数据进行简单的 ols 估计,方法是使用 dynlm。另外,我想用一些传统的截断值作为滞后变量来替换 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 统计数据和 p 值,而不是 summary(reg) 中的那些。

如果你能帮助我,那就太好了!谢谢!

【问题讨论】:

  • 我现在的处理方式是打印带有原始OLS结果的表格,然后手动键入HAC标准错误,这真的很愚蠢。
  • 欢迎来到 SO!只是为了澄清一下,当您提到将结果打印到乳胶表时,输出是论文的一部分还是只是 R 控制台中的一次性打印?此外,样本数据也有助于人们回答。
  • 是否可以使用 stargazer 中的参数 set 来实现我的目标?
  • @Sixiang.Hu 这只是 R 控制台中的一次性打印。我也想使用更具体的开放数据集...稍后我会尝试这样做。

标签: r stargazer


【解决方案1】:

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

您只需直接向 stargazer 函数提供稳健的标准误差和 p 值

stargazer(ols, ..., se = robust[,2], p = robust[,4], p.auto = F)

无需提供 t 统计量,因为它们是由 stargazer 根据提供的标准计算的。误差和系数。

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

【讨论】:

  • 我最终编写了一个函数来生成 HAC 标准误差估计器,然后用se = c(list(HAC1), list(HAC2),...) 将它们放入 stargazer 中,效果很好。以下是给我足够帮助的链接和讨论。 [stackoverflow.com/questions/33048097/…
猜你喜欢
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 2017-11-19
  • 2021-12-07
  • 1970-01-01
相关资源
最近更新 更多