楼主: 浮云一叶
1754 2

[编程问题求助] stata dulicates drop 后merge仍提示master data中有重复 [推广有奖]

  • 1关注
  • 0粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
1763 个
通用积分
21.2537
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
680 点
帖子
27
精华
0
在线时间
121 小时
注册时间
2013-3-29
最后登录
2022-12-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求问论坛各位老师,我在进行匹配工作时,按照name变量进行匹配,在代码中已经选择了duplicates drop name,force,但之后和新的数据进行匹配时仍然报错“variable name does not uniquely identify observations in the master data”。不知是何原因?附样本文件和代码如下。

master data:文件名 hgm2001.dta
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float panelid int year strL name str21 area str11 zip str21 phone
  4. 1 2001 "无锡市第二齿轮厂"                                  "0510" ""       "515806"
  5. 2 2001 "长春石材股份合作公司"                            "0431" "130103" "515034"
  6. 4 2001 "四会市罗源水泥厂"                                  "0758" ""       "738282"
  7. 6 2001 "上海拆车厂"                                           "021"  ""       "692318"
  8. 7 2001 "南阳希望饲料有限责任公司"                      "0377" "473000" "555762"
  9. 10 2001 "重庆润丰纺织机械有限公司"                      "023"  "401321" "271548"
  10. 11 2001 "福州市饲料工业公司"                               "0591" ""       "614820"
  11. 12 2001 "宁波金鱼电器有限公司"                            "0574" "315613" "186319"
  12. 13 2001 "中山市恒发染织厂有限公司"                      "0760" ""       "807811"
  13. 15 2001 "汾阳市晋阳钢铁公司"                               "0575" ""       "222369"
  14. 19 2001 "新会市会城镇城西羽绒服装厂"                   "0750" ""       "695361"
  15. 20 2001 "阳江市阳春市春磷化工有限公司"                "0662" ""       "732471"
  16. 22 2001 "北京铁路伊捷瑞技术开发公司"                   "010"  ""       "241044"
  17. 26 2001 "开原市中固电熔镁厂"                               "0410" "112319" "371067"
  18. 27 2001 "扬州金利机械有限责任公司"                      "0514" "225006" "236054"
  19. 29 2001 "津市市经纶绢麻纺织有限公司"                   "0736" ""       "211396"
  20. 30 2001 "美而光(深圳)有限公司"                         "0755" "518109" "700648"
  21. 35 2001 "黄梅县粮油总公司饲料工贸公司"                "0713" ""       "321358"
  22. 36 2001 "常州市江南塑料集团"                               "0519" ""       "231280"
  23. 40 2001 "金坛华金机械有限公司"                            "0519" ""       "822163"
  24. 42 2001 "扬州玩具三厂"                                        "0514" "225007" "345403"
  25. 43 2001 "温州市瓯海氟硅实业公司"                         "0577" ""       "362236"
  26. 44 2001 "唐山钢铁集团金恒企业发展总公司福利总厂" "0315" "63016"  "703301"
  27. 46 2001 "国营广元织布厂"                                     "0839" ""       "223257"
  28. 47 2001 "四会市恒生实业有限公司(工业)"                 "0758" ""       "283929"
  29. 49 2001 "福建省泉州市闽东南地质大队印刷厂"          "0595" ""       "685506"
  30. 50 2001 "广西壮族自治区南宁肉类联合加工厂"          "0771" "530003" "820538"
  31. 52 2001 "马钢江东企业公司第四轧钢厂"                   "0574" ""       "882480"
  32. 53 2001 "铜仁市酒厂"                                           "0856" ""       "230544"
  33. 54 2001 "南通华宁工艺服装有限公司"                      "0513" ""       "890341"
  34. end
复制代码


using data: 文件名 hg2001_1.dta

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input int year byte month str48 name str9 zip str6 phone double valperunit
  4. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23999999463558197
  5. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23999999463558197
  6. 2001 1 "中国包装国际贸易公司" "100020" "818020" .30000001192092896
  7. 2001 1 "中国包装国际贸易公司" "100020" "818020"   .260305255651474
  8. 2001 1 "中国包装国际贸易公司" "100020" "818020"  .3199999928474426
  9. 2001 1 "中国包装国际贸易公司" "100020" "818020" .30589449405670166
  10. 2001 1 "中国包装国际贸易公司" "100020" "818020"  .5672250390052795
  11. 2001 1 "中国包装国际贸易公司" "100020" "818020"  .2308020442724228
  12. 2001 1 "中国包装国际贸易公司" "100020" "818020"  46.28545379638672
  13. 2001 1 "中国包装国际贸易公司" "100020" "818020"    1.8529132604599
  14. 2001 1 "中国包装国际贸易公司" "100020" "818020" .10999968647956848
  15. 2001 1 "中国包装国际贸易公司" "100020" "818020" .33594653010368347
  16. 2001 1 "中国包装国际贸易公司" "100020" "818020" .24002398550510406
  17. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23016194999217987
  18. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23435750603675842
  19. 2001 1 "中国包装国际贸易公司" "100020" "818020" .36500000953674316
  20. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23999612033367157
  21. 2001 1 "中国包装国际贸易公司" "100020" "818020"   .509998619556427
  22. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23999737203121185
  23. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23999999463558197
  24. 2001 1 "中国包装国际贸易公司" "100020" "818020"  .2199767380952835
  25. 2001 1 "中国包装国际贸易公司" "100020" "818020" .20994850993156433
  26. 2001 1 "中国包装国际贸易公司" "100020" "818020" .30000001192092896
  27. 2001 1 "中国包装国际贸易公司" "100020" "818020" .20998333394527435
  28. 2001 1 "中国包装国际贸易公司" "100020" "818020"   .746268630027771
  29. 2001 1 "中国包装国际贸易公司" "100020" "818020"  .8695651888847351
  30. 2001 1 "中国包装国际贸易公司" "100020" "818020"  4.876404285430908
  31. 2001 1 "中国包装国际贸易公司" "100020" "818020" .23616264760494232
  32. 2001 1 "中国包装国际贸易公司" "100020" "818020" .22002002596855164
  33. 2001 1 "中丝生丝进出口公司"    "100006" "222507"                 30
  34. end
复制代码



已有代码:
  1. use hgm2001.dta,replace
  2. drop if mi(panelid)
  3. drop if mi(name)
  4. duplicates drop name,force
  5. duplicates report name
  6. merge 1:m name using hg2001_1.dta, keepusing(month valperunit companytype )
复制代码


我自己运行上述代码,得到的结果是
  1. . duplicates drop name,force

  2. Duplicates in terms of name

  3. (0 observations are duplicates)

  4. . duplicates report name

  5. Duplicates in terms of name

  6. --------------------------------------
  7.    copies | observations       surplus
  8. ----------+---------------------------
  9.         1 |       156694             0
  10. --------------------------------------

  11. . merge 1:m name using hg2001_1.dta, keepusing(month valperunit companytype)
  12. variable name does not uniquely identify observations in the master data
  13. r(459);
复制代码

因为是截取的数据,所以样本数据可能互相无法匹配,也不确定能不能出现我描述的报错。但是还是把需要的东西放上来(为避免某些不必要的回复),求各位指导。谢谢!
二维码

扫码加我 拉你入群

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

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


沙发
浮云一叶 发表于 2020-2-26 20:12:29 |只看作者 |坛友微信交流群
OK已解决。问题出在master data用来匹配的变量name是strLs格式,所以会出现这个问题,把strL改成str#(#为任意确定的数)就能解决这个问题

使用道具

藤椅
stata困难户 发表于 2020-8-10 14:04:18 |只看作者 |坛友微信交流群
浮云一叶 发表于 2020-2-26 20:12
OK已解决。问题出在master data用来匹配的变量name是strLs格式,所以会出现这个问题,把strL改成str#(#为任 ...
请问怎么知道自己的命名格式是不是strl_s格式呢

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 09:52