如何在fixest的etable生成的LaTeX表中添加相对效应列?
给fixest的AER风格LaTeX表格添加相对效应列
核心思路
借助fixest::etable的add.columns参数,将手动计算的相对效应(系数与基准系数的比值)作为额外列插入表格,同时保留AER风格的排版格式。
完整解决方案代码
library(fixest) library(dplyr) # 模拟数据 set.seed(123) n <- 1000 data <- data.frame( open = rnorm(n), treat = sample(0:1, n, replace = TRUE), rel = sample(-2:2, n, replace = TRUE), cpf = sample(1:100, n, replace = TRUE), cnpj_cei = sample(1:200, n, replace = TRUE) ) # 运行TWFE回归 mod_twfe <- feols(open ~ i(rel, treat, ref = -1) | cpf + rel, cluster = ~cnpj_cei, data = data) # 提取系数表并计算相对效应 coef_table <- summary(mod_twfe)$coeftable # 定位基准系数(示例中为rel=-1的treat交互项,即回归设定的基准组) baseline_coef <- coef_table["treat::rel=-1", "Estimate"] # 计算每个系数与基准系数的比值 relative_effect <- coef_table[, "Estimate"] / baseline_coef # 生成带相对效应列的AER风格LaTeX表格 etable(mod_twfe, style.tex = style.tex("aer"), tex = TRUE, title = "TWFE Regression Results (AER Style)", # 添加相对效应列,设置列名并统一小数格式 add.columns = list("Relative Effect" = sprintf("%.3f", relative_effect)), # 调整列对齐适配AER风格 align = "lcc", # 保留标准误在系数下方的排版 se.below = TRUE)
关键细节说明
- 基准系数提取:避免手动指定基准值,直接从回归结果中提取实际的基准组系数(示例中对应
treat::rel=-1的估计值),确保相对效应计算准确。 add.columns参数:接受列表格式输入,键为列名称,值为与系数行顺序匹配的统计量,用sprintf控制小数位数保证表格格式统一。- 格式适配:通过
align调整列对齐方式,se.below=TRUE保留AER期刊表格标准误在系数下方的经典排版。
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

