全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8345 14
2015-01-07
朋友们大家好,我初学STATA,现遇到一个匪夷所思的问题:
我有一个文件包含了81家公司的ISIN,需要通过这些ISIN找到在第二个文件中关于这81家公司对应的信息。
由于第二个文件中,有的公司同时有好几个ISIN码,并用“,”相隔,因此在用1:m merge ISIN指令时出现(note: variable ISIN was str13, now str264 to accommodate using data's values),并发现有些公司的信息没有match到,不知是不是因为merge指令只match第一个ISIN码。
后来我又尝试把有多个ISIN码的情况split成ISIN1,ISIN2,ISIN3...等,想逐次merge各组ISIN码,希望不要有遗漏。可以我逐次merge时,仍然发现有遗漏现象。比如第一家公司US0352901054,merge 1:m ISIN using C:\Users\Vera\Desktop\thesis\org_splitISINsample(note: variable ISIN was str13, now str264 to accommodate using data's values)
    Result                           # of obs.
    -----------------------------------------
    not matched                        58,526
        from master                        81  (_merge==1)
        from using                     58,445  (_merge==2)
    matched                                 0  (_merge==3)
    -----------------------------------------
说明这家公司找不到对应于第二个文件的ISIN的信息,但我发现明明第二个文件的3824-3835个obs就是这家公司的对应信息。为何会出现这种遗漏现象?如何可以把这81家公司的信息最大化地在第二个文件中合并齐全?请赐教,谢谢大家。
二维码

扫码加我 拉你入群

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

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

全部回复
2015-1-7 20:34:40
这个问题我也遇到了,同求解答~谢过!
二维码

扫码加我 拉你入群

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

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

2015-1-7 21:11:50
附上这81家公司的ISIN码,谢谢大家。
附件列表

cfirm_81.dta

大小:8.14 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

2015-1-7 22:51:46
littledan0613 发表于 2015-1-7 21:11
附上这81家公司的ISIN码,谢谢大家。
楼主您好!
我试了下提示是:
(note: variable ISIN was str13, now str264 to accommodate using data's values)
variable ISIN does not uniquely identify observations in org_splitISINsample.dta

楼主上传的数据大,很难一下子掌握数据特征,如果楼主熟悉数据结构,建议用input end写成代码,比如类似一下这个例子:
复制代码
二维码

扫码加我 拉你入群

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

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

2015-1-7 22:53:06
再提醒下,楼主上传的是stata13的数据,建议低版本使用者先ssc install use13,调取数据时改用use13 路径,就行了。
二维码

扫码加我 拉你入群

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

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

2015-1-8 00:19:45
版主你好,非常感谢你的回复。
我刚刚又试了一下,结果如下:
当运用. merge 1:1 ISIN using C:\Users\Vera\Desktop\thesis\org_splitISINsample_new时会出现:
(note: variable ISIN was str13, now str264 to accommodate using data's values)
variable ISIN does not uniquely identify observations in the using data
r(459);


但运用. merge 1:m ISIN using C:\Users\Vera\Desktop\thesis\org_splitISINsample_new
(note: variable ISIN was str13, now str264 to accommodate using data's values)时,结果是下表,
    Result                           # of obs.
    -----------------------------------------
    not matched                        58,526
        from master                        81  (_merge==1)
        from using                     58,445  (_merge==2)

    matched                                 0  (_merge==3)
    -----------------------------------------
并没有出现“(note: variable ISIN was str13, now str264 to accommodate using data's values)
variable ISIN does not uniquely identify observations in the using data”的提示。

可能我之前发帖没有叙述清楚,所以我又把两个文件简化了一下,分别是cfirm_81.dta(new)和org_splitISINsample(new).
cfirm_81(new).dta是81家公司的ISIN码(每个ISIN码对应唯一一家公司), org_splitISINsample(new).dta是多家公司对应的ISIN码(但此文件中有的公司可能对应1个以上的ISIN码)和各公司不同年份对应的变量BI。因为这两个文件唯一共同的变量只有ISIN码用来确定到底是哪家公司,所以我想通过第一个文件中81家公司的ISIN码去寻找在org_splitISINsample(new).dta中这81家公司不同年份的BI值。
因此我选择1:m merge的指令,但发现没有一家公司match。( matched  0)
但我发现这结果与事实是不符合的。比如cfirm_81(new).dta中的第一家公司是US0352901054,实际上在org_splitISINsample(new).dta中第3824-3835个observation就是这家公司US0352901054不同年份的BI值,理论上应该是能match的,不知为何都遗漏了。
朋友们能帮我看一看这个问题吗?到底是哪里出错了?
请大家不吝赐教,万分感激。
附件列表

cfirm_81_new.dta

大小:1.76 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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