楼主: liuzc_108
4587 6

[数据管理求助] merge命令报错?合并两个数据文件中的字符型变量怎么破 [推广有奖]

  • 1关注
  • 0粉丝

已卖:3份资源

本科生

63%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
1.0545
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1082 点
帖子
25
精华
0
在线时间
168 小时
注册时间
2017-5-31
最后登录
2025-8-26

楼主
liuzc_108 学生认证  发表于 2018-3-14 01:02:01 |AI写论文
40论坛币
我最终想要的是06~12年间,每年每地级市的城投债发行规模的面板数据。
现在我有两份数据。一份是这样的,列出了06~12年间所有发行的城投债债券名称(zhaiquan)、规模(amount)、期限(maturity)、发行公司(issuer)及其省份(province)。如下:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str10 date str22 zhaiquan double(amount maturity) str54 issuer str16 province
  4. "12/29/2006" "06漳电CP01"     7   1 "山西漳泽电力股份有限公司"       "山西省"
  5. "12/28/2006" "06央行票据97"  30 .25 "中国人民银行"                   "北京"  
  6. "12/28/2006" "06中铁工CP02"  10   1 "中国中铁股份有限公司"           "北京"  
  7. "12/28/2006" "06铁龙CP01"     3   1 "中铁铁龙集装箱物流股份有限公司" "辽宁省"
  8. "12/27/2006" "06国开32"     300   2 "国家开发银行"                   "北京"  
  9. "12/27/2006" "06云铜CP01"    10   1 "云南铜业股份有限公司"           "云南省"
  10. "12/27/2006" "06国开美元3"    7   3 "国家开发银行"                   "北京"  
  11. "12/27/2006" "06金川CP01"     6 .75 "金川集团股份有限公司"           "甘肃省"
  12. "12/26/2006" "06央行票据96" 600   1 "中国人民银行"                   "北京"  
  13. "12/26/2006" "06中铝CP02"    20   1 "中国铝业股份有限公司"           "北京"  
  14. end
复制代码


另一份是个地方融资平台一览表,列出了发行公司名称(issuer)、省份(province)和地级市(city)
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str76 issuer str16 province str22 city
  4. "城口县土地储备中心"                 "重庆" "重庆市"
  5. "城口县汉嘉资产经营有限公司"         "重庆" "重庆市"
  6. "重庆市双通农业综合开发有限公司"     "重庆" "重庆市"
  7. "重庆市地产集团"                     "重庆" "重庆市"
  8. "重庆宏融资本运营管理集团有限公司"   "重庆" "重庆市"
  9. "重庆市九龙坡区土地整治储备中心"     "重庆" "重庆市"
  10. "重庆市江津区华信公路建设有限公司"   "重庆" "重庆市"
  11. "重庆北飞实业有限公司"               "重庆" "重庆市"
  12. "重庆市金潼工业建设投资有限公司"     "重庆" "重庆市"
  13. "重庆市九龙坡区路桥建设开发有限公司" "重庆" "重庆市"
  14. end
复制代码



现在我想做的就是把第二份数据中所有公司的地级市属性都归到第一份数据里面!这样之后就能按照地级市整理出面板数据了!
关键是怎么合并一下呢@_@我对merge命令一知无解,跑了一下报错:
variable does not uniquely identify observations in the master data
要命的是我master data中的发行公司issuer未必在都能在另一份数据里面一一找到!!我在excel里面搜索过了!!不知道丢了多少公司!不知道是不是因为这个merge命令才报错的!
白丁一个总共家当就五十几个论坛币QAQ请不要嫌弃
第一次求助,第一次尝试用dataex,尽量提供详尽资料,如有不对请大大们指出、见谅!
万分感谢!

最佳答案

黃河泉 查看完整内容

你的资料有点复杂,不知底下程序有无解决你的问题。
关键词:字符型变量 Merge 数据文件 字符型 observations stata 数据管理 dataex

沙发
黃河泉 在职认证  发表于 2018-3-14 01:02:02
liuzc_108 发表于 2018-3-14 10:10
1.不好意思,我的确没有经验,把两个文件sort了一下province,重新dataex了一下,您看这样行不行。
第一 ...
你的资料有点复杂,不知底下程序有无解决你的问题。
  1. // 2
  2. * Example generated by -dataex-. To install: ssc install dataex
  3. clear
  4. input str76 issuer str16 province str22 city
  5. "合肥市建设投资控股(集团)有限公司" "安徽省" "合肥市"
  6. "合肥市包河城市建设投资有限公司"   "安徽省" "合肥市"
  7. "巢湖城市建设投资有限公司"         "安徽省" "合肥市"
  8. "安徽省交通投资集团有限责任公司"   "安徽省" "合肥市"
  9. "安徽省港航建设投资集团有限公司"   "安徽省" "合肥市"
  10. "合肥市土地储备中心"               "安徽省" "合肥市"
  11. "合肥市工业投资控股有限公司"       "安徽省" "合肥市"
  12. "肥西县国有资产运营有限公司"       "安徽省" "合肥市"
  13. "安徽省公路管理局"                 "安徽省" "合肥市"
  14. "合肥高新城创建设投资有限公司"     "安徽省" "合肥市"
  15. "合肥市国正资产经营有限公司"       "安徽省" "合肥市"
  16. end

  17. tempfile temp
  18. save `temp'

  19. // 1
  20. * Example generated by -dataex-. To install: ssc install dataex
  21. clear
  22. input str10 date str16 province str54 issuer
  23. "09/13/2012" "安徽省" "安徽省交通投资集团有限责任公司"   
  24. "08/25/2010" "安徽省" "芜湖经济技术开发区建设投资公司"   
  25. "08/27/2007" "安徽省" "芜湖市建设投资有限公司"            
  26. "08/01/2012" "安徽省" "淮南矿业(集团)有限责任公司"        
  27. "04/07/2009" "安徽省" "滁州市交通基础设施开发建设有限公司"
  28. "09/13/2012" "安徽省" "安徽省交通投资集团有限责任公司"   
  29. "06/28/2011" "安徽省" "安徽省皖北煤电集团有限责任公司"   
  30. "03/10/2009" "安徽省" "安徽省能源集团有限公司"            
  31. "11/15/2012" "安徽省" "安徽省合肥市中小企业"              
  32. "01/28/2010" "安徽省" "安徽海螺集团有限责任公司"         
  33. end

  34. duplicates drop province issuer, force
  35. merge 1:1 province issuer using `temp'
复制代码

藤椅
黃河泉 在职认证  发表于 2018-3-14 07:36:40
1. 資料沒有代表性,兩邊沒有共同的省分?2. 什麼叫做"把第二份数据中所有公司的地级市属性都归到第一份数据里面"? 请"明确"利用资料变量说明。

板凳
liuzc_108 学生认证  发表于 2018-3-14 10:10:43
黃河泉 发表于 2018-3-14 07:36
1. 資料沒有代表性,兩邊沒有共同的省分?2. 什麼叫做"把第二份数据中所有公司的地级市属性都归到第一份数据 ...
1.不好意思,我的确没有经验,把两个文件sort了一下province,重新dataex了一下,您看这样行不行。
第一个数据集样本:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str10 date str16 province str54 issuer
  4. "09/13/2012" "安徽省" "安徽省交通投资集团有限责任公司"   
  5. "08/25/2010" "安徽省" "芜湖经济技术开发区建设投资公司"   
  6. "08/27/2007" "安徽省" "芜湖市建设投资有限公司"            
  7. "08/01/2012" "安徽省" "淮南矿业(集团)有限责任公司"        
  8. "04/07/2009" "安徽省" "滁州市交通基础设施开发建设有限公司"
  9. "09/13/2012" "安徽省" "安徽省交通投资集团有限责任公司"   
  10. "06/28/2011" "安徽省" "安徽省皖北煤电集团有限责任公司"   
  11. "03/10/2009" "安徽省" "安徽省能源集团有限公司"            
  12. "11/15/2012" "安徽省" "安徽省合肥市中小企业"              
  13. "01/28/2010" "安徽省" "安徽海螺集团有限责任公司"         
  14. end
复制代码
第二个数据集样本:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str76 issuer str16 province str22 city
  4. "合肥市建设投资控股(集团)有限公司" "安徽省" "合肥市"
  5. "合肥市包河城市建设投资有限公司"   "安徽省" "合肥市"
  6. "巢湖城市建设投资有限公司"         "安徽省" "合肥市"
  7. "安徽省交通投资集团有限责任公司"   "安徽省" "合肥市"
  8. "安徽省港航建设投资集团有限公司"   "安徽省" "合肥市"
  9. "合肥市土地储备中心"               "安徽省" "合肥市"
  10. "合肥市工业投资控股有限公司"       "安徽省" "合肥市"
  11. "肥西县国有资产运营有限公司"       "安徽省" "合肥市"
  12. "安徽省公路管理局"                 "安徽省" "合肥市"
  13. "合肥高新城创建设投资有限公司"     "安徽省" "合肥市"
  14. "合肥市国正资产经营有限公司"       "安徽省" "合肥市"
  15. end
复制代码
2.所谓“把第二份数据中所有公司的地级市属性都归到第一份数据里面”,就是第一份数据现在有date, issuer, province, amount,第二份数据里有issuer, province, city。因为我的分析单位是地级市,所以要把第二份里面的city整合到第一份数据里面,让第一份数据变成date, issuer, province, amount, city。
顺便说一句,我的最终目的是,date, province, city, amount。因为研究的分析单位就是city。万德上面只能按照债券代码和issuer为单位导出数据。
不知道这样说明是否清楚……

报纸
蓝色 发表于 2018-3-14 10:33:26
  1. use  d:\data1.dta,clear                              /*假如第一个文件保存为data1,在D盘保存*/
复制代码

  1. use  d:\data1.dta,clear             /*假如第一个文件保存为data1,在D盘保存*/
  2. merge m:1 issuer  using  d:\data2.dta   /*把第二个文件(保存为data2,在D盘保存)合并过来*/
复制代码


地板
liuzc_108 学生认证  发表于 2018-3-14 20:19:59
黃河泉 发表于 2018-3-14 10:30
你的资料有点复杂,不知底下程序有无解决你的问题。
可以解决,非常感谢!唯一问题在于我这是有待整理的面板数据,所以重复的发行主体应该是不用duplicates drop的?再请教一下!鞠躬!

7
liuzc_108 学生认证  发表于 2018-3-14 20:25:54
蓝色 发表于 2018-3-14 10:33
哇,可以解决呢,谢谢大大!鞠躬鞠躬鞠躬!

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

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