我正在尝试使用stargazer输出一些具有鲁棒标准误差的回归结果,但是底部没有显示诸如nobs和f stat这样的值的线。这是代码和输出。
r_FEB1_se <- coeftest(r_FEB1, vcov = vcovHC(r_FEB1, method = "arellano", type = "HC3", cluster = "group"))
r_FED1_se <- coeftest(r_FED1, vcov = vcovHC(r_FED1, method = "arellano", type = "HC3", cluster = "group"))
r_FEF1_se <- coeftest(r_FEF1, vcov = vcovHC(r_FEF1, method = "arellano", type = "HC3", cluster = "group"))
r_FEH1_se <- coeftest(r_FEH1, vcov = vcovHC(r_FEH1, method = "arellano", type = "HC3", cluster = "group"))
r_FEB2_se <- coeftest(r_FEB2, vcov = vcovHC(r_FEB2, method = "arellano", type = "HC3", cluster = "group"))
r_FED2_se <- coeftest(r_FED2, vcov = vcovHC(r_FED2, method = "arellano", type = "HC3", cluster = "group"))
r_FEF2_se <- coeftest(r_FEF2, vcov = vcovHC(r_FEF2, method = "arellano", type = "HC3", cluster = "group"))
r_FEH2_se <- coeftest(r_FEH2, vcov = vcovHC(r_FEH2, method = "arellano", type = "HC3", cluster = "group"))
stargazer::stargazer(r_FEB1_se,r_FEB2_se,r_FED1_se,r_FED2_se,r_FEF1_se,r_FEF2_se,r_FEH1_se,r_FEH2_se, type = "text")
=========================================================================================================================
Dependent variable:
--------------------------------------------------------------------------
(1) (2) (3) (4) (5) (6) (7) (8)
-------------------------------------------------------------------------------------------------------------------------
`Ratio Immigrants/pop t-1` 0.594* 0.653* 1.193*** 1.368*** 0.973*** 1.031*** 0.841*** 0.904***
(0.337) (0.338) (0.450) (0.458) (0.295) (0.306) (0.294) (0.299)
`Disposable income in Thousand EUR t-1` 0.000* 0.000 0.000 0.00000***
(0.000) (0.000) (0.000) (0.000)
`Unemployment rate on all civilian income t-1` 0.010*** 0.031*** -0.006 0.009**
(0.003) (0.007) (0.005) (0.004)
`Disposable income in Thousand EUR t-2` 0.000 0.000 0.000 0.00000***
(0.000) (0.000) (0.000) (0.000)
`Unemployment rate on all civilian income t-2` 0.008** 0.025*** -0.011** 0.007
(0.003) (0.007) (0.005) (0.005)
=========================================================================================================================
=========================================================================================================================
Note: *p<0.1; **p<0.05; ***p<0.01
通常"lm"
对象用于生成表。但是您可以覆盖这些值。由于我对texreg
软件包比较熟悉,因此希望您不要介意我提供了相应的解决方案。
您既需要texreg
对象(在下面表示为"lm"
,也需要由fit*
引起的具有鲁棒标准误差的矩阵,在下面用coeftest
表示)。 示例:
rob.fit*
然后,在fit1 <- lm(mpg ~ hp, mtcars)
fit2 <- lm(mpg ~ hp + am, mtcars)
library(sandwich);library(lmtest)
rob.fit1 <- coeftest(fit1, vcov.=vcovHC(fit1))
rob.fit2 <- coeftest(fit2, vcov.=vcovHC(fit2))
中使用texreg
提供修改后的标准误差以及p值。
override.*
只需将library(texreg)
screenreg(list(fit1, fit2),
override.se=list(rob.fit1[,2], rob.fit2[,2]),
override.pvalues=list(rob.fit1[,4], rob.fit2[,4]))
# =================================
# Model 1 Model 2
# ---------------------------------
# (Intercept) 30.10 *** 26.58 ***
# (2.41) (1.47)
# hp -0.07 *** -0.06 ***
# (0.02) (0.01)
# am 5.28 ***
# (1.22)
# ---------------------------------
# R^2 0.60 0.78
# Adj. R^2 0.59 0.77
# Num. obs. 32 32 <-- THERE THEY ARE!!
# RMSE 3.86 2.91
# =================================
# *** p < 0.001, ** p < 0.01, * p < 0.05
替换为LaTeX的screenreg
,或将HTML替换为texreg
,就可以。
我相信htmlreg
也可能以某种方式实现。