全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2429 5
2022-05-07
我目前使用的微观数据是以家庭为单位的,一个家庭中不同成员的信息(性别、年龄等人口学特征)在数据是同一行。但我想把家庭数据拆成个人数据、以不同家庭成员为单位进行分析,就是说需要在保留一些共同变量的情况下(比如这个家庭的收入和支出)把同一个观测值下的其他变量拆成不同的观测值(生成新的观测值)。想请教大家应如何操作呢......Orz

目前的数据形式大概是:
household_id 成员1身份 成员1性别 成员1年纪 成员1教育水平...... 成员2身份 成员2性别 ...... 成员3身份 成员3性别...... 家庭收入 家庭支出

我想变成:
household_id 成员1身份 性别 年纪...... 家庭收入 家庭支出
household_id 成员2身份 性别 年纪...... 家庭收入 家庭支出
household_id 成员3身份 性别 年纪...... 家庭收入 家庭支出
......

二维码

扫码加我 拉你入群

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

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

全部回复
2022-5-14 02:53:03
因为看不到你的变量,所以只能给个建议。首先用keep保留household_id和成员1的所有变量,然后用rename把成员1的变量重命名成不带成员1的特征描述,如:rename 成员1身份 身份。然后再把数据另存为成员1的一个数据。之后,回来打开原始数据,用同样的方法来处理成员2的相关变量,再把该数据保存为成员2的一个数据。以此类推,保存其它成员的数据。最后,用append命令把所以这些成员的数据给合并起来。合并好之后,用drop if删掉哪些不存在信息的成员(观测值),这样就可以了。如果你习惯用tempfile的话,在dofile里写一组命令就可以解决这个问题,方便很多,就不用存来存去的了。
二维码

扫码加我 拉你入群

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

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

2022-5-19 20:57:09
魏克海 发表于 2022-5-14 02:53
因为看不到你的变量,所以只能给个建议。首先用keep保留household_id和成员1的所有变量,然后用rename把成 ...
好的好的多谢!我试试看~
二维码

扫码加我 拉你入群

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

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

2022-8-6 22:02:34
你好,想问最后是怎么处理的呢,我也遇到同样的问题
二维码

扫码加我 拉你入群

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

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

2022-9-4 16:16:41
zsy0595 发表于 2022-8-6 22:02
你好,想问最后是怎么处理的呢,我也遇到同样的问题
就是用的楼上说的办法:
先keep所有成员1的相关变量(然后视情况rename,比如ren gender_id1 gender);
save为成员1.dta;
如法炮制把每个家庭成员的相关信息save为一个单独的数据;
最后append。

算是笨办法吧hhhh
二维码

扫码加我 拉你入群

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

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

2022-9-5 09:25:10
emisrogan 发表于 2022-9-4 16:16
就是用的楼上说的办法:
先keep所有成员1的相关变量(然后视情况rename,比如ren gender_id1 gender); ...
好吧,感谢回复!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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