You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将重新计算标准误差的plm模型转换为stargazer回归表?

解决plm模型自定义标准误在stargazer中的输出问题

当用plm包估计双向固定效应模型,并用vcovDC计算HC1标准误后,直接调用stargazer(m1)会默认输出原模型的标准误,而非更新后的结果。要把自定义标准误的结果放进stargazer表格,得手动提取更新后的统计量再传入参数,具体步骤如下:

1. 运行模型并生成带自定义标准误的结果

先按示例代码生成数据和模型,再用指定的vcov函数生成带新标准误的summary对象:

library(plm)
library(stargazer)

# 生成示例数据
df <- data.frame(year= rep(c(2000:2005), each=6),
                 county= rep(c("c1", "c2", "c3", "c4", "c5", "c6"), times=6),
                 temperature= runif(36, min=40, max=80),
                 trade= runif(36, min=10, max=20),
                 policy.outcome= runif(36, min=0, max=100))

df.p <- pdata.frame(df, index=c("county", "year"))

# 估计双向固定效应模型
m1 <- plm(policy.outcome ~ temperature + trade, 
          data=df.p, model="within", effect="twoways")

# 生成带HC1标准误的结果对象
m1_robust <- summary(m1, vcov = function(x) vcovDC(x, type="HC1"))

2. 提取更新后的统计量

从m1_robust里提取需要的标准误、t值和p值:

# 提取标准误
robust_se <- m1_robust$coefficients[, "Std. Error"]
# 提取t值
robust_t <- m1_robust$coefficients[, "t-value"]
# 提取p值
robust_p <- m1_robust$coefficients[, "Pr(>|t|)"]

3. 用stargazer输出带自定义统计量的表格

调用stargazer时,通过se、t、p参数传入刚才提取的统计量,就能得到带更新后标准误的回归表:

stargazer(m1, align=TRUE, type="text",
          se=list(robust_se),
          t=list(robust_t),
          p=list(robust_p),
          title="双向固定效应模型(HC1标准误)")

这样输出的表格就会显示你重新计算的HC1标准误,以及对应的t值和p值,而非模型默认的结果。

内容的提问来源于stack exchange,提问作者YouLocalRUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 11:57:47