Stata: 如何提取某个变量有记录的第一年的年份?

Stata 连享会: 知乎 | | 码云

Stata连享会   计量专题 || 精品课程 || 推文 || 公众号合集

Stata: 如何提取某个变量有记录的第一年的年份?_第1张图片
点击查看完整推文列表

2020寒假Stata现场班 (北京, 1月8-17日,连玉君-江艇主讲),「+助教招聘」

Stata: 如何提取某个变量有记录的第一年的年份?_第2张图片
2020寒假Stata现场班

问题源自我在知乎上的回答,参见 知乎问题

问题背景:模拟生成一份数据

面板数据,N=3,T=5,x 中的观察值有缺失。

clear
set obs 3
gen id = _n
expand 5
sort id 
bysort id: gen year = 2010+_n
set seed 123
gen x = int(uniform()*10)
replace x=. if mod(x,3)==0
list, noobs sepby(id)

原始数据如下:

  +---------------+
  | id   year   x |
  |---------------|
  |  1   2011   . |
  |  1   2012   5 |
  |  1   2013   . |
  |  1   2014   7 |
  |  1   2015   1 |
  |---------------|
  |  2   2011   1 |
  |  2   2012   . |
  |  2   2013   2 |
  |  2   2014   8 |
  |  2   2015   4 |
  |---------------|
  |  3   2011   2 |
  |  3   2012   5 |
  |  3   2013   . |
  |  3   2014   5 |
  |  3   2015   . |
  +---------------+

处理过程

思路:使用 egen 命令提供的 tag() 函数进行标记,继而用 min() 函数填充。

egen tag = tag(id x) if x!=.
bysort id: gen sumtag = sum(tag)
replace sumtag=. if x==.
bysort id: egen year0 = min(sumtag*year)

list, noobs sepby(id)

结果如下:

. list, noobs sepby(id)

  +--------------------------------------+
  | id   year   x   tag   sumtag   year0 |
  |--------------------------------------|
  |  1   2011   .     0        .    2012 |
  |  1   2012   5     1        1    2012 |
  |  1   2013   .     0        .    2012 |
  |  1   2014   7     1        2    2012 |
  |  1   2015   1     1        3    2012 |
  |--------------------------------------|
  |  2   2011   1     1        1    2011 |
  |  2   2012   .     0        .    2011 |
  |  2   2013   2     1        2    2011 |
  |  2   2014   8     1        3    2011 |
  |  2   2015   4     1        4    2011 |
  |--------------------------------------|
  |  3   2011   2     1        1    2011 |
  |  3   2012   5     1        2    2011 |
  |  3   2013   .     0        .    2011 |
  |  3   2014   5     0        2    2011 |
  |  3   2015   .     0        .    2011 |
  +--------------------------------------+

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 推文同步发布于 CSDN 、 和 知乎Stata专栏。可在百度中搜索关键词 「Stata连享会」查看往期推文。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • 欢迎赐稿: 欢迎赐稿。录用稿件达 三篇 以上,即可 免费 获得一期 Stata 现场培训资格。
  • E-mail: [email protected]
  • 往期精彩推文:一网打尽

Stata: 如何提取某个变量有记录的第一年的年份?_第3张图片
欢迎加入Stata连享会(公众号: StataChina)

I5C5OhRqjkOw)

你可能感兴趣的:(Stata: 如何提取某个变量有记录的第一年的年份?)