楼主: mwlmwl1993
4047 11

[数据管理求助] stata怎么merge12位长度的ID啊,求指教 [推广有奖]

  • 0关注
  • 0粉丝

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
485 点
帖子
8
精华
0
在线时间
14 小时
注册时间
2014-4-4
最后登录
2017-6-19

楼主
mwlmwl1993 发表于 2015-1-18 00:16:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
CHIPS数据,我想要merge两个数据,通过一个长ID,共12位数字,直接merge会因为科学计数法而失败,把这个ID分成两半我试了还是不行,有哪位大神有经验求指教啊,就是下面的CODE_P变量
CITY         PCODE            CODE_P
110101 1101010021 110101002101
110101 1101010023 110101002301
110101 1101010025 110101002503
110101 1101010026 110101002601


二维码

扫码加我 拉你入群

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

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

关键词:Merge Stata tata 求指教 科学计数法

沙发
btlover 发表于 2015-1-18 00:41:46
提高 id 的储存精度:

gen double newcode = CODE_P

然后用 newcode 来 merge

藤椅
mwlmwl1993 发表于 2015-1-18 00:51:28
btlover 发表于 2015-1-18 00:41
提高 id 的储存精度:

gen double newcode = CODE_P
g double newcode = CODE_P

. merge 1:1  newcode using "C:\Users\OwenMa\Desktop\DATA_released\劳动replicate\mer
> ge03", keep(match) nogen
variable newcode does not uniquely identify observations in the master data
r(459);

还是不行啊,依旧出现这样的错误
数据本身就是双精度的,只不过因为科学计数法使得很多相近的变成了一样,就无法merge了

板凳
yuren1982 发表于 2015-1-18 09:34:57
stata里面怎么还会出现这种问题啊,感觉这是最基本的应用啦~~,难道就不能设置成不使用科学计数法?不懂同问!

报纸
SpencerMeng 在职认证  发表于 2015-1-18 15:25:47
把你的CODE_P改为字符型的,再merge,不知道是否ok。

地板
mwlmwl1993 发表于 2015-1-18 16:23:12
SpencerMeng 发表于 2015-1-18 15:25
把你的CODE_P改为字符型的,再merge,不知道是否ok。
不行的,首先太长了改不成字符型,另外,就算拆成两部分也就是6+6,都是字符型,还是无法merge

7
hplcdadong 发表于 2015-1-19 00:45:54
Stata is excellent in merging data.
Your thinking of "因为科学计数法而失败" may not be right.
Your should first run the following to make sure you don't have any duplictates of code_p in your master dataset (also you have to know whether there are missing values in code_p since in some cases missing values
will cause troubles in merging datasets)

duplicates report CODE_P     
*if there are duplicates, should merge data like this:

merge m:1 CODE_P using "your using file pathway", keep(match) nogen



Good luck




已有 1 人评分论坛币 收起 理由
SpencerMeng + 20 观点有启发

总评分: 论坛币 + 20   查看全部评分

8
皖山一流 学生认证  发表于 2015-1-23 17:16:55 来自手机
把ID转为字符型呢?

9
皖山一流 学生认证  发表于 2015-1-23 17:27:28 来自手机
mwlmwl1993 发表于 2015-1-18 00:51
g double newcode = CODE_P

. merge 1:1  newcode using "C:\Users\OwenMa\Desktop\DATA_released\劳 ...
variable newcode does not uniquely identify observations in the master data
哈哈,stata已经告诉你了问题是什么了…
主数据文件那个变量不是非重复的,
尝试m:1或者m:m试试…good luck!

10
皖山一流 学生认证  发表于 2015-1-23 19:35:24
试试
  1. gen newvar=string(CODE_P,"%14.0f")
复制代码

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-19 03:43