我们有个小妙招,能帮你把每个省份和城市都贴上独一无二的身份编号,比如给“上海市浦东新区”编个2号。这对我们平时处理数据特别有帮助。特别是做微观数据分析的时候,常常会遇到名称不统一的麻烦事儿,比如“安徽”和“安徽省”、“宁夏”和“宁夏回族自治区”,还有像“北京市朝阳区”和“北京市朝阳区朝阳区”这种让人头疼的差异。如果手动去调整这些拼写上的问题再合并数据,既枯燥又容易出错。 为了省掉重复生成和替换的繁琐步骤,作者把两个简单的工具打包成了ado文件:一个叫provincode,用来给省级行政区一键编码;另一个是citycode,用来给地级市编码。你只需要把这两个文件放进Stata安装路径下的ado文件夹,以后就能直接调用了。 比如在处理公司层面的数据和省级失业率数据时,由于字段名细微的差别就没法横向合并。这个时候你就可以导入公司数据集,输入命令 ```stataprovincode, from(公司基本信息) gen(x)```,这样就会多出一列x,把所有的“北京市朝阳区”都统一编成1号。接着导入省级失业率数据集,用同样的方法 ```stataprovincode, from(各省失业率) gen(x)```,就能把“宁夏”和“宁夏回族自治区”都标为34号。 有了这些带编号的数据后,直接执行 ```statamerge 1:m x year using 公司基本信息, nogen```,短短几秒就能把两份数据拼在一起了。Citycode的用法也是一样的,能给全国的地级市生成编码。 这个工具是完全免费开源的福利项目。你只需要把下面这段代码保存成.ado文件放进Stata的ado路径就行: 把上面的代码复制粘贴出来保存为provincode.ado;再写一份citycode文件(把省份换成城市名就行)。不需要安装额外的包,也不用联网就能使用,哪怕是出差路上也能秒秒钟搞定数据合并。 这个小工具支持北京市、天津、河北、山西、辽宁、吉林、黑龙江、江苏、浙江、安徽、福建、江西、山东、河南、湖北、湖南、广东、海南、四川、贵州、云南、西藏、陕西、甘肃、青海、台湾、内蒙古还有广西和新疆这些地方的编码工作。