阅读 190

如何利用stata一键实现把国家统计局地区分省年度数据快速整理成省级面板数据

之前发文介绍了《如何把国家统计局地区分省年度数据快速整理成省级面板数据》。虽然能实现快速把国家统计局地区分省年度数据快速整理成省级面板数据,但是实际操作中仍然需要修改一些指令。下面的代码能够一键实现把国家统计局地区分省年度数据快速整理成省级面板数据。

进入国家统计局→统计数据(数据从查询)→地区数据(分省年度数据)下载分省数据到文件夹。


数据

运行一下以下代码能:

cd D:\科研数据\统计局数据\新建文件夹   //数据所在文件夹
  local files: dir "." files "*.xls",respectcase  
  local f =1
  foreach t in `files' {
    local b =  subinstr("`t'",".xls","",.)            
    import excel using "`t'", clear            
    local i =  substr(A[2],10,.)                    
      drop A
      ds
      foreach j in `r(varlist)'{                   
        replace `j'="a`f'"+substr(`j',1,4) in 4
      }
      foreach l in `r(varlist)'{                 
        local k =`l'[4]
        rename `l' `k'
      }
    keep in 5/35
    gen id = _n
    reshape long  a`f', i(id) j(year) 
    label variable a`f' `"`i'"'
    destring a`f',replace
    save "`b'", replace
    local f=`f'+1
 }

*合并数据
  local files: dir "." files "*.dta",respectcase
  dis `files'
  foreach j in `files' {
    cap merge 1:1 id year using "`j'"
    cap drop _merge      
  }
  gen 省份=""
  replace 省份 = "北京市" if id==1
  replace 省份 = "天津市" if id==2
  replace 省份 = "河北省" if id==3
  replace 省份 = "山西省" if id==4
  replace 省份 = "内蒙古自治区" if id==5
  replace 省份 = "辽宁省" if id==6
  replace 省份 = "吉林省" if id==7
  replace 省份 = "黑龙江省" if id==8
  replace 省份 = "上海市" if id==9
  replace 省份 = "江苏省" if id==10
  replace 省份 = "浙江省" if id==11
  replace 省份 = "安徽省" if id==12
  replace 省份 = "福建省" if id==13
  replace 省份 = "江西省" if id==14
  replace 省份 = "山东省" if id==15
  replace 省份 = "河南省" if id==16
  replace 省份 = "湖北省" if id==17
  replace 省份 = "湖南省" if id==18
  replace 省份 = "广东省" if id==19
  replace 省份 = "广西壮族自治区" if id==20
  replace 省份 = "海南省" if id==21
  replace 省份 = "重庆市" if id==22
  replace 省份 = "四川省" if id==23
  replace 省份 = "贵州省" if id==24
  replace 省份 = "云南省" if id==25
  replace 省份 = "西藏自治区" if id==26
  replace 省份 = "陕西省" if id==27
  replace 省份 = "甘肃省" if id==28
  replace 省份 = "青海省" if id==29
  replace 省份 = "宁夏回族自治区" if id==30
  replace 省份 = "新疆维吾尔自治区" if id==31   
  order 省份 id year
*删除单变量数据
  foreach j in `files' {
    erase "`j'"
   }

一键实现16个省级宏观指标的面板数据。


省级面板数据

作者:松柏林stata

原文链接:https://www.jianshu.com/p/5cca1a2edc1c

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐