我在R中使用export_summs
来制作回归表,但是当我使用coeftest
来获取聚类标准错误时,该表不再报告N
或{{1} }正确地放在这些列中。系数和标准误差看起来不错,只是缺少那些额外的统计信息。 (我在Stata中经常使用outreg2,这要简单得多。)
我尝试按照此处上一个示例(https://hughjonesd.github.io/huxtable/huxreg.pdf)的建议使用R^2
,没有任何变化。
tidy_override()
发出警告并输出:
答案 0 :(得分:1)
在这种情况下,错误消息非常清楚:broom
程序包没有用于glance
对象的coeftest
方法。这不是偶然的-coeftest
对象的性质不允许broom
计算模型摘要统计信息。它保留了有关原始模型的很少信息:
> str(reg1)
'coeftest' num [1:2, 1:4] 0.0483 0.0153 0.0329 0.0341 1.4668 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:2] "(Intercept)" "x"
..$ : chr [1:4] "Estimate" "Std. Error" "t value" "Pr(>|t|)"
- attr(*, "method")= chr "t test of coefficients"
- attr(*, "df")= int 998
一种选择是使用lm_robust
包中的estimatr
函数。它返回具有glance
和tidy
都可接受的可靠标准错误的对象:
reg2 <- estimatr::lm_robust(y ~ x
, data = datareg)
export_summs(reg0, reg2,
model.names = c("Basic", "Cluster SE"), number_format = NA )
──────────────────────────────────────────────────────────────────
Basic Cluster SE
────────────────────────────────────────────────────
(Intercept) 0.0482678107925753 0.0482678107925755
(0.032842483472098) (0.0329070612421128)
x 0.0152928320138191 0.015292832013819
(0.0333488383365212) (0.034094868727288)
────────────────────────────────────────────────────
N 1000 1000
R2 0.000210664993144995 0.000210665
──────────────────────────────────────────────────────────────────
*** p < 0.001; ** p < 0.01; * p < 0.05.
Column names: names, Basic, Cluster SE
答案 1 :(得分:0)
Huxtable作者在这里。这是使用tidy_override
的方法:
library(generics)
library(huxtable)
library(jtools)
library(lmtest)
library(sandwich)
datareg <- NULL
datareg$y <- rnorm(1000)
datareg$x <- rnorm(1000)
datareg$cluster_var <- rnorm(1000)
datareg <- data.frame(datareg)
reg0 <- lm(y ~ x, data = datareg)
reg1 <- coeftest(reg0, vcovCL, cluster = datareg$cluster_var)
reg1 <- tidy_override(reg1, glance = list(nobs = 1000L, r.squared = 0.000),
extend = TRUE) # extend = TRUE is important
export_summs(reg0, reg1, model.names = c("Basic", "Cluster SE"))
哪个给:
────────────────────────────────────────────────────
Basic Cluster SE
───────────────────────────────────
(Intercept) -0.01 -0.01
(0.03) (0.03)
x -0.05 -0.05
(0.03) (0.03)
───────────────────────────────────
N 1000 1000
R2 0.00 0.00
────────────────────────────────────────────────────
*** p < 0.001; ** p < 0.01; * p < 0.05.
Column names: names, Basic, Cluster SE
这非常棘手,感谢您的困难...结果,我改善了huxreg
中的错误报告!