楼主: Brook1114
1084 2

[Stata高级班] 如何合并数据 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

98%

还不是VIP/贵宾

-

威望
0
论坛币
735 个
通用积分
0
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2362 点
帖子
124
精华
0
在线时间
39 小时
注册时间
2009-2-4
最后登录
2020-9-8

楼主
Brook1114 发表于 2011-8-15 09:50:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好:
      我想将两个数据集合并: 数据集1含有每个家庭成员的信息,数据集2含有整个家庭的信息,两个数据集是按照家庭的编号对应的且可以合并,但是数据集1含有的观测值数量多于数据集2含有的观测值数量. 这样的情况下,我想先将数据集2生成和数据集1对应的重复观测值,然后合并两个数据集. 那么,我应该怎样才能根据数据集1的成员个数生成数据集2的每个家庭的重复观测值呢? 谢谢.

比如:
id             income     expenditure     occupation
110101       1000        300                  manager
110102        2000        500                manager
110201        2003         200               worker
110202        3098         349               official

hh             education   
1101           highschool
1102           middleschool


如何才能把第二个数据集根据第一个数据集的观测值数量来生成两个重复的观测值? 即:
hh      education
1101      highschool
1101      highschool
1102      middleschool
1102      middleschool
二维码

扫码加我 拉你入群

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

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

关键词:合并数据 expenditure Highschool Occupation Education income 如何 信息

沙发
arlionn 在职认证  发表于 2011-8-15 14:41:18
不用操作的如此复杂,stata可以自动实现你想要的合并功能。
use file1, clear
merge n:1 id using file2
说明:id 是指家庭编号。

藤椅
arlionn 在职认证  发表于 2011-8-15 14:44:30
不用操作的如此复杂,stata可以自动实现你想要的合并功能。
use file1, clear
gen id_str = string(id)
gen hh = real(substr(id_str,1,4))

merge n:1 hh using file2

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-9 11:31