R语言fixest包etable拆分系数至两列并导出LaTeX方法
实现fixest回归结果按main/second拆分列并导出LaTeX
核心思路
通过fixest::etable的split参数实现变量分组,结合coef_rename统一同类变量的标签,让仅main/second有差异的变量共享同一行,最终导出LaTeX格式。
完整代码
在你已有的模型代码后添加以下内容:
# 1. 定义系数重命名函数:统一基础变量的显示标签 coef_rename_map <- function(var_name) { # 替换变量名中的_main_/_second_为空格,首字母大写,下划线转空格 cleaned_name <- gsub("_(main|second)_", " ", var_name) cleaned_name <- gsub("^([a-z])", "\\U\\1", cleaned_name, perl = TRUE) cleaned_name <- gsub("_", " ", cleaned_name) return(cleaned_name) } # 2. 定义分组规则:区分Main/Second变量组与控制变量组 split_rule <- function(var_name) { if (grepl("main", var_name)) { "Main" } else if (grepl("second", var_name) && var_name != "second") { # 排除单独的second变量,将其归为控制变量 "Second" } else { "Controls" } } # 3. 生成表格并导出LaTeX etable(m2, # 按规则拆分列 split = split_rule, # 应用系数标签统一规则 coef_rename = coef_rename_map, # 指定分组显示顺序 split_order = c("Main", "Second", "Controls"), # 隐藏固定效应模型的截距项 drop = "Intercept", # 导出为LaTeX格式 tex = TRUE, # 可选:将结果保存到指定文件 file = "regression_results.tex", # 可选:添加LaTeX表格标题和交叉引用标签 title = "Regression Results: Main vs Second Variables", label = "tab:main_second_reg" )
代码说明
- 系数重命名:
coef_rename_map会把height_main_1和height_second_1统一处理为Height 1,让这两个变量的系数显示在同一行的不同列。 - 分组拆分:
split_rule将带main的变量归为"Main"列,带second(除单独的second控制变量)的归为"Second"列,其余控制变量单独成组。 - LaTeX导出:
tex=TRUE直接生成LaTeX代码,file参数可将结果保存为.tex文件,也可删除该参数直接在控制台复制代码。
内容的提问来源于stack exchange,提问作者Vincenzoalfano
相关产品推荐
相关产品推荐

