全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4509 9
2013-11-28
悬赏 888 个论坛币 未解决
我想找到面板数据里面,某个变量(例如:yvar)第一个非缺失值:
复制代码
如上,生成一个新变量:first_non-missing_yvar

请高手指教。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-11-28 19:01:29
Assume your original file is myfile.dta

use myfile, clear
preserve
collapse (firstnm) firstyvar=yvar, by(id)
save mytemp, replace
restore
merge m:1 id using mytemp, nogen
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-28 20:13:53
不错!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-28 21:04:55
Another method:

ssc install egenmore, replace        //install the user-written command egenmore
egen firstyvar=first(yvar), by(id)         
replace  firstyvar=firstyvar[_n+1] if missing(firstyvar)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-28 21:34:20
Just found that the second method does not work so well if "yvar" have multiple missing values for each unique "id". Sorry for this.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-28 21:51:58
Here is the right second method (work for any condition):

ssc install egenmore, replace        //install the user-written command egenmore
egen firstyvar=first(yvar), by(id)         
replace  firstyvar=firstyvar[_N] if missing(firstyvar)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群