R语言did包中aggte类对象汇总结果的访问与处理方法咨询
解决did包中summary结果对象的访问与操作问题
你遇到的问题是summary(example_attgt)返回的store对象没法直接操作,其实这个对象内部存储了所有核心结果,按以下方法就能提取并用于报告:
1. 先查看对象的内部结构
用str(store)或names(store)可以看到对象里的所有元素,比如att是ATT估计值、se是标准误、ci.low/ci.high是置信区间、groups对应处理组、periods对应时间期:
# 查看对象元素名称 names(store) # 查看详细结构 str(store)
2. 提取核心结果为数据框
把需要的结果组合成数据框,方便后续编辑或导出:
# 提取ATT、标准误、置信区间等核心结果 results_df <- data.frame( 处理组 = store$groups, 时间期 = store$periods, ATT估计值 = store$att, 标准误 = store$se, 置信区间下限 = store$ci.low, 置信区间上限 = store$ci.high ) # 打印结果 print(results_df)
3. 若需聚合效应(如动态处理效应)
如果要得到动态处理效应(比如相对处理时间的平均效应),可以先生成aggte对象再提取:
# 生成动态聚合效应对象 aggte_obj <- aggte(example_attgt, type = "dynamic") # 查看汇总 summary(aggte_obj) # 提取动态效应结果 dynamic_results <- data.frame( 相对处理时间 = aggte_obj$egt, ATT估计值 = aggte_obj$att.egt, 标准误 = aggte_obj$se.egt, 置信区间下限 = aggte_obj$ci.low.egt, 置信区间上限 = aggte_obj$ci.high.egt )
4. 用于报告的后续操作
- 如果用R Markdown生成报告,用
knitr::kable(results_df)可以生成美观的表格; - 如果要导出到Excel,用
writexl::write_xlsx(results_df, "did处理效应结果.xlsx")即可。
内容的提问来源于stack exchange,提问作者user3483060
相关产品推荐
相关产品推荐

