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

在R的did包att_gt()中纳入从未处理控制组的方法

解决did包多期DID中从未处理单元的纳入问题

不用手动给那些treatment_year为NA的从未处理单元赋值,直接设置control_group参数就能把它们留在分析里当控制组,具体操作如下:

修正后的代码

给你的att_gt()调用加上control_group = "never treated"参数即可:

att_results <- att_gt(
    yname = "ln_Pris",
    tname = "Year",
    idname = "id",
    gname = "treatment_year",
    data = clean_data,
    panel = FALSE,
    control_group = "never treated"
)

原理说明

  • 原代码中,att_gt()默认会剔除treatment_year为NA的单元,因为它默认的控制组逻辑是「仅将尚未被处理的单元作为控制组」(对应参数默认值control_group = "not yet treated")。
  • 当设置control_group = "never treated"时,函数会自动识别treatment_year为NA的单元为「从未被处理」的控制组,不会剔除它们,而是将这类单元纳入分析用于估计处理效应。

额外注意事项

  • 确保你的did包是较新版本(建议≥1.0.0),旧版本可能对该参数的支持存在局限。
  • 提前确认数据中treatment_year为NA的单元确实是从未被处理的,避免数据标记错误导致结果偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:47:35