楼主: chiuuu
67948 14

[编程问题求助] stata merge 中 出现not uniquely identify observations in the using data [推广有奖]

  • 0关注
  • 0粉丝

本科生

57%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
147 点
帖子
13
精华
0
在线时间
186 小时
注册时间
2020-4-24
最后登录
2021-4-24

楼主
chiuuu 发表于 2020-7-29 21:43:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想要横向合并数据,却一直出现not uniquely identify observations in the using data的提示

ROE的挡案

nobs    Stkcd    Date    Price    SOE    ROE
1001    000001    07jan2011    16.41    0    14.73
1002    000001    14jan2011    15.99    0    14.73
1003    000001    21jan2011    15.15    0    14.73
1004    000001    28jan2011    15.2    0    14.73
1005    000001    01feb2011    15.44    0    14.73
1006    000001    11feb2011    15.5    0    14.73
1007    000001    18feb2011    15.98    0    14.73
1008    000001    25feb2011    15.89    0    18.7505
1009    000001    04mar2011    16.68    0    18.7505
1010    000001    11mar2011    16.05    0    18.7505
1011    000001    18mar2011    15.83    0    18.7505
1012    000001    25mar2011    16.26    0    18.7505
1013    000001    01apr2011    16.57    0    18.7505
1014    000001    08apr2011    17.17    0    18.7505
1015    000001    15apr2011    18.73    0    18.7505
1016    000001    22apr2011    17.86    0    18.7505
1017    000001    29apr2011    18.2    0    6.68

lev的挡案
nobs    Stkcd    lev    MVA
55    000001    .9643    4.994e+10
56    000001    .9512    3.060e+10
57    000001    .9523    2.438e+10
58    000001    .9539    2.152e+10
59    000001    .9554    2.009e+10
60    000001    .9552    2.134e+10
61    000001    .9406    1.247e+10
62    000001    .94    6.562e+09
63    000001    .9422    3.673e+09
64    000001    .9464    -2.153e+09
65    000001    .9446    -1.446e+10
66    000001    .9472    -2.723e+09
67    000001    .9509    1.432e+10
68    000001    .9498    -9.814e+09
69    000001    .9488    2.472e+09



  1. clear all
  2. cd C:\Users\Chiu\Desktop

  3. use "C:\Users\Chiu\Desktop\ROE.dta"
  4. sort Stkcd Date
  5. save ROE.dta, replace

  6. use "C:\Users\Chiu\Desktop\lev.dta"
  7. drop nobs
  8. sort Stkcd
  9. duplicates report
  10. duplicates drop
  11. merge m:1 Stkcd using ROE.dta
复制代码


求求大神协助了 谢谢



二维码

扫码加我 拉你入群

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

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

关键词:observations observation observat identify unique

沙发
黃河泉 在职认证  发表于 2020-7-30 11:29:49
你这个显然是无法 merge (绝对不要用 merge m:m),你知道你要做什么吗 (你希望你最后资料是怎样?什么频率的?)?请先 help merge 看看各种合并情况!

藤椅
chiuuu 发表于 2020-7-30 16:27:38
黃河泉 发表于 2020-7-30 11:29
你这个显然是无法 merge (绝对不要用 merge m:m),你知道你要做什么吗 (你希望你最后资料是怎样?什么频率 ...
谢谢老师 我昨天找到我的问题点了
我应该要用joinby指令的
不过我目前出现了这样的问题

. use "C:\Users\Chiu\Desktop\ROE1.dta"

. drop if mis
(0 observations deleted)

. use "C:\Users\Chiu\Desktop\size.dta"

.
. drop nobs

.
. joinby Stkcd using "C:\Users\Chiu\Desktop\ROE1.dta"
sum of expand values exceed 2,147,483,620
    The dataset may not contain more than 2,147,483,620 observations.
r(459);



板凳
黃河泉 在职认证  发表于 2020-7-31 10:01:16
chiuuu 发表于 2020-7-30 16:27
谢谢老师 我昨天找到我的问题点了
我应该要用joinby指令的
不过我目前出现了这样的问题
你 joinby 之后的观察值太多,我真的怀疑 (实在无法想像) 你的作法!

报纸
hya2000an 发表于 2020-7-31 13:11:29
试试
use "C:\Users\Chiu\Desktop\ROE.dta",clear
sort Stkcd Date
duplicates drop Stkcd,force
save ROE.dta, replace

地板
hya2000an 发表于 2020-7-31 13:18:35
无非是想按Stkcd合并ROE和LEV两个文件,
试试

***先删除重复项目********************
use "C:\Users\Chiu\Desktop\ROE.dta",clear
sort Stkcd Date
duplicates drop Stkcd,force
save "C:\Users\Chiu\Desktop\ROE.dta",replace

use "C:\Users\Chiu\Desktop\lev.dta",clear
sort Stkcd Date
duplicates drop Stkcd,force
save "C:\Users\Chiu\Desktop\lev.dta",replace

***********再合并*****************************
use "C:\Users\Chiu\Desktop\ROE.dta",clear
merge m:1 Stkcd using "C:\Users\Chiu\Desktop\lev.dta",nogen

save .....
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
qian0107 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
B-eautiful_L-ov 发表于 2020-8-1 12:22:13
楼上正解,先删除duplicate,再进行merge 1:m。

8
chiuuu 发表于 2020-8-1 15:49:19
黃河泉 发表于 2020-7-31 10:01
你 joinby 之后的观察值太多,我真的怀疑 (实在无法想像) 你的作法!
抱歉我没将我的问题描述详细
我是想按Stkcd合并ROE和LEV两个文件
因为采取的是周数据 所以会有单一证券代码对应好几笔的资料
后来我思考了一下 可能是我的数据找的有问题
因为lev那个挡案没有日期 这样两个文件合并会有问题

谢谢老师给的建议

9
chiuuu 发表于 2020-8-1 15:50:27
hya2000an 发表于 2020-7-31 13:18
无非是想按Stkcd合并ROE和LEV两个文件,
试试
lev那个挡案我找的时后没有日期这个变量
可能是我的数据抓取有问题
很谢谢你的回答!!!

10
糖萌萌 学生认证  发表于 2022-2-24 13:17:18
hya2000an 发表于 2020-7-31 13:18
无非是想按Stkcd合并ROE和LEV两个文件,
试试
大佬我遇到了相同问题,但有些不懂,他roe表和lev表里stkcd变量都是000001,也就是都是重复的,如果删除stkcd变量的重复值,那两个表最后不都只剩下一个stkcd,即000001了吗,那不就是1:1合并了,求解答。

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

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