Stata数据处理:如何提取某个变量有记录的第一年的年份

发布时间:2020-10-07 阅读 43

Stata 连享会   主页 || 视频 || 推文

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

课程主页 https://gitee.com/arlionn/Course

作者:连玉君 (中山大学)
E-Mail: arlionn@163.com


目录


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

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

面板数据,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   . |
  +---------------+

2. 处理过程

思路: 使用 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 |
  +--------------------------------------+

相关课程

连享会-直播课 上线了!
http://lianxh.duanshu.com

免费公开课:


课程一览

支持回看,所有课程可以随时购买观看。

专题 嘉宾 直播/回看视频
最新专题 DSGE, 因果推断, 空间计量等
Stata数据清洗 游万海 直播, 2 小时,已上线
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]

Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。


关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
  • 连享会-主页知乎专栏,300+ 推文,实证分析不再抓狂。
  • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD