如何在2SLS回归面板表格中按需显示指定回归系数?
2SLS回归面板表格定制实现方案
针对你需要的分面板回归表格需求,推荐使用panelsummary包(专为面板式回归表设计)配合fixest和modelsummary实现,精准控制各面板的变量显示与统计量位置。以下是完整可复现代码:
步骤1:准备模型与提取第一阶段结果
# 安装依赖包(首次运行需执行) install.packages(c("panelsummary", "fixest", "modelsummary", "causaldata")) library(tidyverse) library(fixest) library(modelsummary) library(panelsummary) # 加载数据 d <- causaldata::social_insure # 基础2SLS模型 m1 <- feols(takeup_survey ~ male | pre_takeup_rate ~ default, cluster = ~address, data = d) # 带控制变量的2SLS模型 m2 <- feols(takeup_survey ~ male + age + agpop + ricearea_2010 + literacy + intensive + risk_averse + disaster_prob + factor(village) | pre_takeup_rate ~ default, cluster = ~address, data = d) # 简化式模型 rf1 <- feols(takeup_survey ~ default + male, cluster = ~address, data = d) rf2 <- feols(takeup_survey ~ default + male + age + agpop + ricearea_2010 + literacy + intensive + risk_averse + disaster_prob + factor(village), cluster = ~address, data = d) # 提取2SLS模型的第一阶段结果 m1_first <- extract_first_stage(m1) m2_first <- extract_first_stage(m2)
步骤2:生成定制化面板表格
# 定义各面板需显示的变量 first_stage_vars <- c("default") # 第一阶段仅显示工具变量 second_stage_vars <- c("pre_takeup_rate", "age") # 第二阶段显示核心内生变量与Age reduced_form_vars <- c("default") # 简化式仅显示工具变量 # 构建面板表格 panelsummary( # 按面板分组的模型列表 list( "第一阶段" = list(m1_first, m2_first), "第二阶段(2SLS)" = list(m1, m2), "简化式" = list(rf1, rf2) ), # 为每个面板指定显示变量 panel_vars = list( first_stage_vars, second_stage_vars, reduced_form_vars ), # 变量名重命名为需求名称 coef_rename = c( "pre_takeup_rate" = "Friends Purchase Behavior", "default" = "Instrument", "age" = "Age" ), # 仅保留观测数统计量 gof_map = list( list("raw" = "nobs", "clean" = "Number of Observations", "fmt" = 0) ), # 观测数放在表格末尾(所有面板之后) gof_position = "bottom", # 模型列名称 model_names = c("基础模型", "带控制变量模型"), # 显著性星号设置 stars = c('*' = 0.1, '**' = 0.05, '***' = 0.01) )
关键设置说明
- 面板变量控制:通过
panel_vars参数为每个面板单独指定显示变量,避免无关变量(如Age)出现在第一阶段和简化式面板 - 统计量位置:
gof_position = "bottom"确保观测数仅在整个表格最后显示一次,而非每个面板重复出现 - 变量名自定义:
coef_rename将模型中的变量名替换为你需要的业务名称(如pre_takeup_rate改为Friends Purchase Behavior)
内容的提问来源于stack exchange,提问作者eli_the_eliminator
相关产品推荐
相关产品推荐

