楼主: glover123
4523 14

[数据管理求助] 求助 使用merge命令对股票代码和年份进行合并,但是合并不了 [推广有奖]

11
蓝色 发表于 2017-12-10 16:02:15
你提供的数据有问题
第二个数据集的第一个变量
你设定的是str12   读进去你自己看看,都读不全

改成str13 才能看到全部的


12
黃河泉 在职认证  发表于 2017-12-10 17:21:23
glover123 发表于 2017-12-10 15:22
不好使 转了还是匹配不上....
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str12 stkcd str4 accper long employee byte(dual director indirector) double mshare
  4. "000001" "2002"  5834 . 14 3   726973
  5. "000001" "2003"  6471 2 14 3   752783
  6. "000001" "2004"  6999 2 13 5   143164
  7. "000001" "2005"  7142 2 14 4    80997
  8. "000001" "2006"  7737 1 13 4   130997
  9. "000001" "2007"  8573 2 14 4    68592
  10. "000001" "2008" 10381 2 14 4    10974
  11. "000001" "2009" 11308 2 15 5    10974
  12. "000001" "2010" 12203 2 15 5    26259
  13. "000002" "2002"  6055 2 11 4   242824
  14. "000002" "2003"  7025 2 11 4   567548
  15. "000002" "2004"  9627 2 11 4   951322
  16. "000002" "2005" 10961 2 11 4  1276984
  17. "000002" "2006" 13402 2 11 4  1276984
  18. "000002" "2007" 16464 2 11 4  1564382
  19. "000002" "2008" 16515 2 11 4 26835910
  20. "000002" "2009" 17616 2 11 4 26835910
  21. "000002" "2010" 22850 2 11 4 25819706
  22. "000004" "2002"   386 .  8 3        0
  23. "000004" "2003"   344 .  9 3    43600
  24. end

  25. gen stkcd1 = strtrim(stkcd)
  26. gen accper1 = strtrim(accper)

  27. tempfile a
  28. save `a'

  29. * Example generated by -dataex-. To install: ssc install dataex

  30. // str12(stkcd stknme)
  31. clear
  32. input str14(stkcd stknme) str18 accper str62 Dadtunit str61 Iadtunit
  33. "       000001" "平安银行" "2002" "深圳鹏城会计师事务所"                "安永会计师事务所"   
  34. "       000001" "平安银行" "2003" "深圳鹏城会计师事务所"                "安永会计师事务所"   
  35. "       000001" "平安银行" "2004" "深圳鹏城会计师事务所"                "安永会计师事务所"   
  36. "       000001" "平安银行" "2005" "深圳市鹏城会计师事务所有限公司" "安永会计师事务所"   
  37. "       000001" "平安银行" "2006" "深圳市鹏城会计师事务所有限公司" "安永会计师事务所"   
  38. "       000001" "平安银行" "2007" "安永华明会计师事务所"                "安永会计师事务所"   
  39. "       000001" "平安银行" "2008" "安永华明会计师事务所"                "安永会计师事务所"   
  40. "       000001" "平安银行" "2009" "安永华明会计师事务所"                "安永会计师事务所"   
  41. "       000001" "平安银行" "2010" "安永华明会计师事务所"                "安永会计师事务所"   
  42. "       000002" "万科A"      "2002" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  43. "       000002" "万科A"      "2003" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  44. "       000002" "万科A"      "2004" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  45. "       000002" "万科A"      "2005" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  46. "       000002" "万科A"      "2006" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  47. "       000002" "万科A"      "2007" "毕马威华振会计师事务所"             "毕马威会计师事务所"
  48. "       000002" "万科A"      "2008" "毕马威华振会计师事务所"             ""                           
  49. "       000002" "万科A"      "2009" "毕马威华振会计师事务所"             ""                           
  50. "       000002" "万科A"      "2010" "毕马威华振会计师事务所"             ""                           
  51. "       000004" "国农科技" "2002" "深圳鹏城会计师事务所"                ""                           
  52. "       000004" "国农科技" "2003" "深圳鹏城会计师事务所"                ""                           
  53. end

  54. gen stkcd1 = strtrim(stkcd)
  55. gen accper1 = strtrim(accper)

  56. merge 1:1 stkcd1 accper1 using `a'
复制代码

13
黃河泉 在职认证  发表于 2017-12-10 17:23:56
glover123 发表于 2017-12-10 14:31
非常感谢!但是刚才试了一下strtrim命令但是还是不好使
* Example generated by -dataex-. To ins ...
是可以的!请将第二个档的
  1. str12(stkcd stknme)
  2. 改成
  3. str14(stkcd stknme)
复制代码
然后看看我的指令 (目前审查中)。

14
黃河泉 在职认证  发表于 2017-12-10 17:25:09
qinhuaihe1985 发表于 2017-12-10 14:10
你看一下merge的帮助文档,里面有一条是:做匹配的key words 不能是字符型的。
转换一下就好了
我试了是可以用 string 变量来 merge (match) 的!

15
glover123 发表于 2017-12-12 21:34:17
黃河泉 发表于 2017-12-10 17:23
是可以的!请将第二个档的然后看看我的指令 (目前审查中)。
非常谢谢您!帮我解决了问题

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

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