在Stata中用mixed命令分析纵向数据时间点3的处理效应遇缺失值怎么办?
解决Stata mixed命令分析时间点3处理效应的缺失值问题
你之前的方法报错核心原因是:仅保留time=3的观测会让前两个时间点的score3全为缺失值,而mixed模型需要利用纵向数据的重复测量信息估计随机效应,大量缺失值会导致模型无法正常运行。正确的做法是保留所有观测,通过交互项直接估计time=3时group对score的处理效应,具体步骤如下:
方法一:构建time=3指示变量与group的交互项
- 先创建仅在time=3时取值为1的指示变量:
gen time3 = (time == 3)
- 运行包含主效应和交互项的混合效应模型:
mixed score group time i.group#i.time3 || id:, mle
- 结果中
i.group#i.time3的系数就是你需要的time=3时group对score的处理效应:如果group是二分类变量(0=对照组,1=处理组),该系数代表处理组在time=3时的score与对照组的差异。
方法二:直接使用group与time的全交互项
如果需要同时查看所有时间点的group效应,可以直接将group和time作为分类变量构建全交互:
mixed score i.group##i.time || id:, mle
- 结果中
i.group#i.time下对应time=3的系数,即为time=3时的处理效应。
额外说明
- 保留所有观测能充分利用纵向数据的信息,提升模型估计效率,同时彻底避免缺失值问题。
- 若需控制其他协变量,直接在模型中加入对应变量即可(例如加入协变量
age:mixed score group time i.group#i.time3 age || id:, mle)。
内容的提问来源于stack exchange,提问作者Emily
相关产品推荐
相关产品推荐

