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

如何利用fixest多估计功能高效估计多个实验回归模型?

解决方案

完全可以利用fixest的多估计功能实现,这样cluster固定效应仅需计算一次,能显著提升效率。

方式一:用sw()切换处理变量

通过sw()(switch的缩写)指定需要轮换的处理变量,保留回归公式中的共同部分,仅替换treatment_i相关项:

# 一次性完成三个模型估计,固定效应只计算一次
models <- fixest::feols(
  y ~ covariate + sw(treatment_1, treatment_2, treatment_3) + 
      i(sw(treatment_1, treatment_2, treatment_3), covariate, ref = 0) | cluster,
  data = df
)

方式二:结合变量列表批量处理

如果处理变量命名有规律(比如均以treatment_开头),可以先提取变量名再批量估计:

# 获取所有treatment开头的变量名
treat_vars <- grep("^treatment_", colnames(df), value = TRUE)

# 批量生成并估计模型
models <- fixest::feols(
  y ~ covariate + sw(!!treat_vars) + i(sw(!!treat_vars), covariate, ref = 0) | cluster,
  data = df
)

结果查看

执行后,models对象会包含三个估计完成的模型,你可以通过models[[1]]/models[[2]]/models[[3]]单独查看每个模型,或使用etable(models)一次性输出所有结果进行对比。

fixest的多估计功能会先预处理所有模型的共同部分(包括cluster固定效应的去均值操作),再针对不同的处理变量完成剩余回归计算,从根源上避免了重复计算固定效应的冗余开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:00:22