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

如何用stargazer导出清晰plm回归LaTeX表格并移除因子系数

解决plm+stargazer输出LaTeX表格的两个问题

一、移除as.factor(time)和as.factor(country)的系数

stargazer的omit参数支持正则表达式匹配变量名,可直接过滤个体/时间固定效应的虚拟变量:

  • 若你在plm模型中手动加入了factor(country)、factor(time)这类虚拟变量,用正则匹配变量前缀即可剔除:
stargazer(model1, model2, 
          omit = "^factor\\(country\\)|^factor\\(time\\)",  # 匹配所有以factor(country)或factor(time)开头的变量
          omit.labels = c("个体固定效应", "时间固定效应"),  # 给被剔除的部分添加说明标签
          type = "latex")
  • 若你使用plm内置的双向固定效应语法(如model = "within", effect = "twoways"),模型本身不会输出固定效应系数,stargazer默认也不会显示,无需额外设置omit。

二、优化LaTeX表格可读性

通过stargazer参数调整表格样式,提升可读性:

  • 变量重命名:用covariate.labels给解释变量设置直观名称,dep.var.labels定义被解释变量名称
  • 模型标注:用column.labels给每个模型添加业务化名称(如“基准回归”“稳健性检验”)
  • 统计量筛选:用keep.stat指定保留关键统计量(如样本量、调整R²、F值),或omit.stat剔除冗余统计量
  • 格式调整:设置align = TRUE让列对齐,font.size = "small"缩小字体,title添加表格标题
  • 直接导出:用out = "reg_results.tex"直接输出到LaTeX文件,避免复制粘贴的格式混乱

完整代码示例

library(plm)
library(stargazer)

# 示例面板数据
data("Produc", package = "plm")
# 构建带手动虚拟变量的模型
model1 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp + factor(state) + factor(year), 
              data = Produc, model = "pooling")
model2 <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp + factor(state) + factor(year), 
              data = Produc, model = "within")

# 生成优化后的LaTeX表格
stargazer(model1, model2,
          type = "latex",
          title = "面板回归结果",
          dep.var.labels = "人均州生产总值对数",
          covariate.labels = c("私人资本存量对数", "人均私人资本对数", "就业人数对数", "失业率"),
          column.labels = c("混合回归", "固定效应回归"),
          omit = "^factor\\(state\\)|^factor\\(year\\)",
          omit.labels = c("州固定效应", "年份固定效应"),
          keep.stat = c("n", "adj.rsq", "f"),
          align = TRUE,
          font.size = "small",
          out = "reg_table.tex")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:06:14