主要需要处理的情况在于,这个列表里用空格体现省市区层级,但在stata里,如果转为能直接用的截面,还需要以下操作:
第一种情况,如果是地级市及以上的截面,需要把除了直辖市以外的省份的行去掉,还需要把区县的行去掉。
在导入stata之前的预操作:以2020年12月中华人民共和国县以上行政区划代码为例,先把https://www.mca.gov.cn/mzsj/xzqh/2020/20201201.html网站内容复制到excel,再把表格中的空格通过替换全部删除,记得把最后三行的说明删掉,还有没有数据但是有格式变动的格子删除或清除格式,否则导入stata以后会有缺失值。
保存好excel文件以后,运行以下代码即可。运行后的数据文件包括四位行政区划代码和所对应的地级市名称。
通过行政区划代码第3、4,第5、6位是否为0识别是否为地级市或县级市,如果3、4位不为零,5、6位为零则为地级市,如果3、4位,5、6都不为零,则为县级市,如果第3、4,第5、6位都为零则为省。通过这个规则可以实现以上操作。直辖市通过第1、2位可以识别。
- import excel ".\行政区划代码\2020年12月中华人民共和国县以上行政区划代码.xlsx", sheet("Sheet1") firstrow clear // 来源:[url]https://www.mca.gov.cn/mzsj/xzqh/2020/20201201.html[/url]
- rename 行政区划代码
- rename 单位名称 city
- tostring place,replace
- gen place_00 =substr(place,1,4)
- gen province_id=substr(place,1,2)
- gen c=substr(place,5,2)
- gen p=substr(place,3,2)
- drop if c!="00"
- drop if (province_id!="11"&p=="00")&(province_id!="12"&p=="00")&(province_id!="50"&p=="00")&(province_id!="31"&p=="00")&(province_id!="71"&p=="00")&(province_id!="81"&p=="00")&(province_id!="82"&p=="00")
- destring place_00,replace
- drop c p place
- drop province_id
第二种情况,如果是区县的截面。用excel几个函数可以操作:
=RIGHT(A3,2)
=RIGHT(A3,4)
=IF(D3="0000",B3,"")
=IF(E3="",F2,E3)
=IF(OR(AND(C3="00",D3<>"0000"),B3="北京市",B3="天津市",B3="重庆市",B3="上海市"),B3,"")
=IF(C3<>"00",B3,"")
=IF(G3="",I2,G3)


雷达卡





京公网安备 11010802022788号







