全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2954 2
2015-01-10
求助一个用stata处理数据的问题:
      我有一组关于家庭子女收入的数据,其中跟老人一起住和没有一起住的子女收入数据是混在一起的。然后我知道每个老人住在一起的子女个数,子女收入数据是横向排列的,先是每个住在一起的子女收入数据,后是没有住在一起的每个子女的收入数据。现在想用这些信息把同住和非同住子女的收入数据分两类算组内和和平均值等,该怎么写相关code呢?
       我上了一部分样本数据,其中householdID是家庭ID,包括老人和配偶两个观测。变量num_kid表示同住子女的数量,变量cb069_1_到 cb069_25_表示的每个子女的收入数据,包括同住的和非同住的。同住的排在前面,非同住的排在后面。
       求助求助啊!我的困难主要在于没办法用同住子女的数量来把横向排列的收入数据中同住子女的收入信息框定出来,因为对于每个老人而言其同住子女的数量不同。还请大牛们多多点拨~

附件列表

sample.zip

大小:5.19 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2015-1-10 15:27:02
能不能生成一组新的变量,使其个数等于Num_kid的最大取值。比如当Num_kid的最大值为10时,我们生成的新变量则有10个,从resident_1_到redident_10_.若对于某个观测而言,其num_kid=6,则该观测下resident_1_到resident_6_的取值为1,resident_7_到10为缺失值,这样就可以将同住子女的数量横向排列起来,然后再去对应收入数据便可以算得同住子女的收入。再用总收入减去同住的便是非同住。
只不过不知道如何生成这一的一组新变量....
二维码

扫码加我 拉你入群

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

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

2015-1-10 16:26:10
问题自己解决了,之前想得复杂了。写个循环
forvalue i=1/25{
gen resident`i'=cb069_`i'_ if `i'<= num_kid
}
egen total_resd=rowtotal(resident*)
即可
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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