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

如何补全时间间隔大于1的Stata面板数据缺失时间观测值

Stata隔年面板补全偶数年观测值解决方案

你提到的expand命令确实不适用于该场景,expand主要用于重复生成现有观测,无法自动生成缺失的年份维度,以下是两种可行的实现方法:

方法1:使用fillin命令(最简方案)

fillin是Stata专门用于补全两个变量所有组合的专用命令,完全适配你的平衡面板补全需求,代码如下:

* 加载你现有的奇数年原始数据
input id year var
       1 2011  23
       1 2013  12
       1 2015  11
       
       2 2011  44
       2 2013  42
       2 2015  13
end 

* 自动补全所有id和year的组合,缺失变量自动赋值为.
fillin id year

* 可选操作:删除fillin生成的辅助标记变量_fillin,不影响后续分析
drop _fillin

* 按id和年份排序即可得到目标格式数据
sort id year

方法2:自定义年份范围补全(通用方案)

如果后续你需要调整补全的年份范围(比如延伸到2010、2016年等),可以用交叉合并的方式实现,代码如下:

* 第一步:提取原始数据中所有唯一的id值并暂存
preserve
keep id
duplicates drop
tempfile id_list
save `id_list'
restore

* 第二步:生成你需要的完整年份序列并暂存
clear
set obs 5
gen year = 2010 + _n
tempfile year_list
save `year_list'

* 第三步:交叉合并id和年份,得到所有id*年份的全量组合
use `id_list', clear
cross using `year_list'

* 第四步:匹配原始数据中的变量值
merge 1:1 id year using 你的原始奇数年数据集路径, nogen

补全后的数据已经是id-年份维度的平衡面板,直接使用merge 1:1 id year using 偶数年数据集路径即可完成你需要的合并操作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 07:06:02