全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3686 11
2021-12-20
如题,我在处理CFPS数据是根据孩子出生年份梳理每个孩子出生的顺序,但是CFPS的孩次顺序有些是乱的(红框标注)。如下图所示,第一栏变量为孩子1、2、3....的出生年份。我想要实现的效果是将每行按照孩子出生年从远到近进行排序,识别出准确的孩次顺序(一孩、二孩...),在STATA里如何用命令实现呢? 排序.png


二维码

扫码加我 拉你入群

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

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

全部回复
2021-12-20 15:40:25
求教老师们,谢谢了。
二维码

扫码加我 拉你入群

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

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

2021-12-21 10:43:28
顶一个
二维码

扫码加我 拉你入群

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

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

2021-12-21 14:54:31
这类数据很多吗?考虑是否是数据错误。
若不是数据错误,可以试试:
gen a=tbly_a_c2 if tbly_a_c1>tbly_a_c2
gen b=tbly_a_c1 if tbly_a_c1>tbly_a_c2
replace tbly_a_c1=a if tbly_a_c1>tbly_a_c2
replace tbly_a_c2=b if tbly_a_c1>tbly_a_c2
应该是可以的
二维码

扫码加我 拉你入群

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

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

2021-12-21 15:29:58
受访者回答孩子情况时未必按照出生次序回答,因而不应该是数据错误的。至于如何处理,楼上的思路值得借鉴。不过个人感觉应该生成新的变量而不是replace原变量。
即,可以考虑写一个循环,使用冒泡算法排序,结果储存在一系列新生成的变量中,例如child_birthyear1,2,...
二维码

扫码加我 拉你入群

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

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

2021-12-21 16:57:28
1. 请 ssc install rowsort 并见其说明。2. (尔后) 你若要问程序,建议请用 (ssc install) dataex 附上相关`代表性’资料 (请尽量不要用截图或其他格式),以供回答者实验之用。请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.htmlhttps://zhuanlan.zhihu.com/p/29911577
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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