全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
22206 7
2012-06-28
我有两个数据,想将他们横向合并,两个数据的共用变量是code、name、ipo。其中一个数据的观察值比另一个多。我使用 sort code name
. merge 1:1 code name using
命令总是出现variables code name do not uniquely identify observations in the using data的错误
求大师教我!
2007数据.xls
大小:(881.5 KB)

 马上下载

2007数据.txt
大小:(390.43 KB)

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2012-6-28 23:09:49
1、一般而言在上市公司实证研究中,都使用code(上市公司股票代码)而不用公司的名称(name),因为公司的名称会随着时间变化而变化,但其股票代码不会变(如果股票代码变了就变成另一家公司了)因此你没有必要用name作为连接两张表的共用变量,只用code就足够了
2、在你提供的表格中ipo(时间)是另外一个连接两个数据集的共用变量,但你没有写在merge命令中,另外你的ipo导入stata后,是字符型变量,最好转化为long型变量,具体命令为. encode ipo,gen(ipodate)
这样利用新生成的ipodate作为连接两个数据集的共用变量。
3、在你提供的一张表中,从2475——2528行只有name没有code,根据1,这些行都要删除,否则在横向合并中根本就找不到对用的code值。
最后,把1——3解决好后
. use dateset1,clear
. sort code ipodate
. merge 1:1 code ipodate using dateset2,keep(match) nogenerate
二维码

扫码加我 拉你入群

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

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

2012-7-20 22:25:11
非常感谢你的帮助,问题已经得到解决,主要原因是数据中有重复,只要在合并之前使用一个去重复的命令,谢谢你!
二维码

扫码加我 拉你入群

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

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

2012-7-23 20:18:43
likezq2008 发表于 2012-7-20 22:25
非常感谢你的帮助,问题已经得到解决,主要原因是数据中有重复,只要在合并之前使用一个去重复的命令,谢谢 ...
你可以执行help  merge  命令,然后应该会有merge m:1   这个命令  blablablba等等
二维码

扫码加我 拉你入群

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

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

2012-7-25 13:06:51
likezq2008 发表于 2012-7-20 22:25
非常感谢你的帮助,问题已经得到解决,主要原因是数据中有重复,只要在合并之前使用一个去重复的命令,谢谢 ...
去重复似乎不合理吧,还是板凳说的对
二维码

扫码加我 拉你入群

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

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

2013-7-20 11:25:28
正解,谢谢。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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