全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2018-3-28 21:29:29
tempfile master_data using_data  
cd c:\temp\
clear
input byte fresp1 long fid12                  
-8 411212
-1 312184
-1 370738
-1 410425
-1 430026
-1 440426
-1 440449
-1 602054
-1 604123
-1 801168
1 100453
1 106601
1 108244
1 108640
1 110011
1 110013
1 110015
1 110022
1 110023
1 110026
1 110027
1 110031
1 110033
1 110035
1 110040
1 110043
1 110045
1 110050
1 110056
1 110059
1 110061
1 110062
1 110063
1 110064
1 110067
1 110068
1 110069
1 110070
1 110071
1 110073
1 110076
1 110077
1 110078
1 110083
1 110084
1 110099
1 110102
1 110104
1 110105
1 110107
1 110108
1 110111
1 110116
1 110119
1 110120
1 110123
1 110124
1 110125
1 110129
1 110132
1 110142
1 110147
1 110148
1 110150
1 110160
1 110165
1 110236
1 110712
1 113415
1 114900
1 115788
1 117321
1 117661
1 118499
1 119227
1 119658
1 120004
1 120008
1 120009
1 120012
1 120013
1 120016
1 120018
1 120020
1 120022
1 120026
1 120029
1 120031
1 120032
1 120033
1 120034
1 120036
1 120038
1 120040
1 120056
1 120057
1 120058
1 120063
1 120065
1 120067
end

save "`master_data'"

clear
input double fresp1 long(fid12 pid)
1 100453 430111103
1 105179 620536107
4 105179 105179433
1 105592 430388103
2 105592 430388104
3 105592 430388105
4 105592 430388106
1 106601 211940103
2 106601 211940104
1 108244 370115104
3 108244 370115108
1 108640 620727105
1 110002 110002101
1 110003 110003101
2 110003 110003102
1 110006 110006101
2 110006 110006102
1 110009 110009101
2 110009 110009102
4 110009 110009104
5 110009 110009105
6 110009 110009106
7 110009 110009107
1 110011 110011101
2 110011 110011102
1 110013 110013101
2 110013 110013102
3 110013 110013103
1 110015 110015101
2 110015 110015104
3 110015 110015107
1 110020 110020101
2 110020 110020102
3 110020 110020103
4 110020 110020105
1 110021 110021101
2 110021 110021102
1 110022 110022101
2 110022 110022102
1 110023 110023101
2 110023 110023431
1 110024 110024101
2 110024 110024102
1 110026 110026101
2 110026 110026102
4 110026 110026104
1 110027 110027101
1 110030 110030101
2 110030 110030431
1 110031 110031101
2 110031 110031102
3 110031 110031103
1 110033 110033101
2 110033 110033102
3 110033 110033103
4 110033 110033104
5 110033 110033105
1 110035 110035101
2 110035 110035102
3 110035 110035103
1 110038 110038101
3 110038 110038103
4 110038 110038104
1 110040 110040101
2 110040 110040102
3 110040 110040103
4 110040 110040431
1 110041 110041101
2 110041 110041102
1 110042 110042101
2 110042 110042102
3 110042 110042103
1 110043 110043101
2 110043 110043102
3 110043 110043103
6 110043 110043107
1 110045 110045101
1 110047 110047101
2 110047 110047102
1 110050 110050101
2 110050 110050102
3 110050 110050103
1 110051 110051101
2 110051 110051102
3 110051 110051103
4 110051 110051104
-1 110052 110052431
1 110052 110052101
2 110052 110052102
3 110052 110052103
4 110052 110052104
1 110056 110056102
1 110057 110057101
2 110057 110057102
1 110060 110060101
2 110060 110060102
3 110060 110060103
1 110061 110061101
1 110062 110062101
2 110062 110062102
end


save "`using_data'"


use "`master_data'",clear
merge 1:1 fid12 fresp1 using  "`using_data'"
二维码

扫码加我 拉你入群

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

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

2018-3-29 08:39:38
蓝色 发表于 2018-3-28 21:29
tempfile master_data using_data  
cd c:\temp\
clear
请问您这是您合并的结果吗?就是要让这两个表1:1合并,我是真的不知道怎么办?我在合并时,一个表是只有fid12和fresp_01两个变量,有13315个样本,另一个表有fid12、fresp_01和pid三个变量,有35719个样本,只要按照fid12和fresp_01,一对一合并,就会出现variables fid12 fresp1_01 do not uniquely identify observations in the using data,我都不知道怎么解决?不然我把数据发给您,您把合并的结果告诉我,支付论坛币也可以,我只想解决这个问题,真是太头疼了
二维码

扫码加我 拉你入群

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

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

2018-3-29 13:07:48
弄潮儿713 发表于 2018-3-29 08:39
请问您这是您合并的结果吗?就是要让这两个表1:1合并,我是真的不知道怎么办?我在合并时,一个表是只有f ...
合并的程序阿
执行程序没有问题阿
二维码

扫码加我 拉你入群

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

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

2018-3-29 14:35:11
蓝色 发表于 2018-3-29 13:07
合并的程序阿
执行程序没有问题阿
master.dta
大小:(66.06 KB)

 马上下载



using.dta
大小:(315.29 KB)

 马上下载




这是要合并的两个数据,请再次麻烦您帮我合并一下,我真的是按照命令merge 1:1 fid12 fresp1 using  "`using_data'"来做的,但就是不行,出现variables fid12 fresp1 do not uniquely identify observations in the using data,非常非常感谢
二维码

扫码加我 拉你入群

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

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

2018-3-29 16:05:48
弄潮儿713 发表于 2018-3-29 14:35
这是要合并的两个数据,请再次麻烦您帮我合并一下,我真的是按照命令merge 1:1 fid12 fres ...
你自己看看using的数据
复制代码
同一个fid12,fresp1有好几个值,
1:1  怎么能匹配呢
无标题.png



二维码

扫码加我 拉你入群

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

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

2018-3-29 17:44:51
蓝色 发表于 2018-3-29 16:05
你自己看看using的数据
同一个fid12,fresp1有好几个值,
1:1  怎么能匹配呢
是的,因为成人库把家庭所有的成员都调查了,每个人有一个编号,所以在成人库中一个家户号对应多个成员编号,而我只要户主的编号,和家庭库合并起来,所以不知道该怎么合并
二维码

扫码加我 拉你入群

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

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

2018-3-29 17:44:54
蓝色 发表于 2018-3-29 16:05
你自己看看using的数据
同一个fid12,fresp1有好几个值,
1:1  怎么能匹配呢
是的,因为成人库把家庭所有的成员都调查了,每个人有一个编号,所以在成人库中一个家户号对应多个成员编号,而我只要户主的编号,和家庭库合并起来,所以不知道该怎么合并
二维码

扫码加我 拉你入群

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

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

2018-3-29 18:06:11
给你的截图
4行一样的fid12的编码,
那这4个人到底哪行是哪个人,怎么区分出不同的人

你还是先把数据库、merge的原理搞清楚
二维码

扫码加我 拉你入群

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

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

2018-3-29 18:22:45
蓝色 发表于 2018-3-29 18:06
给你的截图
4行一样的fid12的编码,
那这4个人到底哪行是哪个人,怎么区分出不同的人
非常感谢您的指导,正如您截图中指出的问题,在using data中,500175这个家庭,对应5个家庭成员的编号fresp1,为1,2和三个缺失值。而在master数据表中,500175家庭对应的fresp1户主编号只是1,所以,只保留(500175 ,1)对应的样本就可以,但我不知道怎么做才行,使用1:1合并做不到,我也不知道怎么办了
二维码

扫码加我 拉你入群

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

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

2018-3-29 19:42:41
把using数据库用
duplicates  drop fid12 fresp1

剔除重复的
然后在合并
二维码

扫码加我 拉你入群

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

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

2018-3-29 20:45:59
蓝色 发表于 2018-3-29 19:42
把using数据库用
duplicates  drop fid12 fresp1
非常感谢,终于合并成功了,可能我一开始没有说明白问题,合并时我也知道有重复值要删除,但删除的命令一直没写对,哎,主要是对stata的应用还是菜鸟级别,才会错误,谢谢,我学会了很多
二维码

扫码加我 拉你入群

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

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

2019-8-5 18:07:12
蓝色 发表于 2018-3-29 19:42
把using数据库用
duplicates  drop fid12 fresp1
老师您好!我今天逛论坛突然看到这个了,用楼主的数据尝试学习了一下。我本来理解的是,直接用1:m先合并,再保留_merge==3的样本就行了(感觉楼主是想要最终生成户主相关信息的数据集?)。但是我尝试了一下,最后合并出来和您的方法做出来的总样本量不同,我合并出来匹配上的有13079个,但是您的只有12845个。不知道我的理解是哪里出现问题了么~如果可以还请老师指导!期待您的回复!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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