楼主: kuaijimxz
11258 18

[数据管理求助] 求助 一个 merge的问题。 [推广有奖]

11
wgh0216 发表于 2012-11-1 23:19:58
向蓝色学习

12
1011639 发表于 2012-11-17 15:08:50
学习了~

13
tomy70585 发表于 2013-12-26 12:18:22
蓝色 发表于 2012-11-1 12:23
比如:A、b,C三个数据集;
A与B合并当然是1:1了,按照hhid pid 相同的合并,每个人对应自己的收入水平
A ...
版主你好
最近也在合併資料
透過舊版的merge指令後卻無法成功合併
在看過你的文章回覆後,想問一下
在m:m 的合併的情況下
關鍵合併變數中,若在主資料及從資料都非唯一的情況
是不是就要用m:m合併

之前使用了這個指令
use A, clear
merge ID year mon using B.dta, sort
出現了這樣的結果
variables ID year mon do not uniquely identify observations in the using data

但是透過了
merge m:m ID year mon using B.dta, force
卻是可以達到我想要的型態(保留_merge=3的部分)

所以想跟你請教一下
也感謝你在之前相關問題提問上的指引


資料 result檔為我要的資料型態
DATA.zip (6.1 MB) 本附件包括:
  • A.dta
  • B.dta
  • result.dta


14
蓝色 发表于 2013-12-26 15:52:28
tomy70585 发表于 2013-12-26 12:18
版主你好
最近也在合併資料
透過舊版的merge指令後卻無法成功合併
到底是m:m还是1:1需要根据你的数据的要求

就像我上面的例子,个人的信息在不同的数据集中,merge是需要把个人的信息一一对应,则需要1:1.
但如果理论上应该是1:1的,但你merge的时候出现问题,则需要你检查数据了,估计是数据代码出错了
或者你少写写了一个 匹配的变量
如你的例子
merge 1:1 ID year mon using B.dta
有问题,原因就是给定 id year mon 是不能定位到唯一的一个数据点的



. use "D:\temp\A.dta", clear

. bysort ID year mon: egen num=count(ID)

. tab num

        num |      Freq.     Percent        Cum.
------------+-----------------------------------
          1 |     55,185      100.00      100.00
------------+-----------------------------------
      Total |     55,185      100.00

. use "D:\temp\B.dta", clear

. bysort ID year mon: egen num=count(ID)

. tab num

        num |      Freq.     Percent        Cum.
------------+-----------------------------------
          1 |     16,602       20.78       20.78
      21092 |     42,184       52.81       73.59
      21093 |     21,093       26.41      100.00
------------+-----------------------------------
      Total |     79,879      100.00



很显然,你的b数据,给定 ID year mon 统计样本数据有许多重复的

15
a414490056 发表于 2014-10-2 12:18:58
joinby

16
kouexcellent 发表于 2014-10-2 22:02:35
学习了。

17
皖山一流 学生认证  发表于 2014-10-4 01:28:48 来自手机
蓝色 发表于 2012-11-1 12:23
比如:A、b,C三个数据集;
A与B合并当然是1:1了,按照hhid pid 相同的合并,每个人对应自己的收入水平
A ...
正解!

18
儒雅谦和 发表于 2015-5-8 23:52:56
蓝色 发表于 2012-11-1 12:23
比如:A、b,C三个数据集;
A与B合并当然是1:1了,按照hhid pid 相同的合并,每个人对应自己的收入水平
A ...
解决了疑惑我长久以来的问题,给10楼的点个赞!分享知识伟大!

19
Evevalue 发表于 2016-5-15 11:03:25
蓝色 发表于 2012-11-1 12:23
比如:A、b,C三个数据集;
A与B合并当然是1:1了,按照hhid pid 相同的合并,每个人对应自己的收入水平
A ...
受教了!

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

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