专栏名称: 爬虫俱乐部
Stata技术控,编程技术咨询,数据讨论与分享,编程和实证培训。
目录
相关文章推荐
科学家庭育儿  ·  小学,请尽量不择手段去搞好英语 ·  16 小时前  
常青藤爸爸  ·  晒一下小小常新学期都上哪些培训班 ·  昨天  
育学园  ·  尿里有泡沫,是因为肾不好吗? ·  2 天前  
掌上铜山  ·  一地明确:生三孩奖3万! ·  2 天前  
掌上铜山  ·  一地明确:生三孩奖3万! ·  2 天前  
科学家庭育儿  ·  性价比儿童卫衣、卫裤,69.9元/2件!纯棉 ... ·  3 天前  
51好读  ›  专栏  ›  爬虫俱乐部

世界银行数据批量下载,暗含小心机呦!

爬虫俱乐部  · 公众号  ·  · 2018-02-12 08:14

正文

导读:做跨国分析时,世界银行数据库是下载各国经济变量、人口指标等宏观数据的一个重要来源。但是,世界银行数据虽然可以批量下载,但是下载的数据是 EXCEL 或者 CSV 格式,且格式都是横向排列,不符合我们做计量分析的要求。小女子使用世界银行的数据经历了四个主要阶段:第一个阶段使用 excel ,即一个个的下载数据,然后在 excel 中复制、粘贴、转置等,数据处理完后再复制到 stata ,与其它数据匹配,这个阶段全靠勤奋和人缘(找朋友帮忙复制粘贴,哈哈);第二个阶段,依旧先下载,然后使用 stata 清理,借助 reshape 命令,长变宽,宽变长,再 merge ,但是 reshape 一次只能转置一个变量,就需要把所有变量一个一个分开导入到 stata ,加上小循环,还可以提高一点速度,否则此阶段也就是比第一阶段稍微快速加节约体力一点;第三个阶段,借助 wbopendata ,先下载,再 merge ,这个时候就已经大大提速了,但是由于各种未知原因,我一次只能下载几个数据,再 merge ,还是有点点麻烦;第四个阶段,就是刚刚摸索出来的现在,只需要借助 excel 一点点功能,就可以全靠 stata 完成数据的下载,且不需要过多清理,简直完美 ! 重点在后面!木有耐心的直接跳到第3个!


现在就来介绍下载世界银行数据的神器—— wbopendata!!!

1.wbopendata 的简单介绍

先下载安装 ssc install wbopendata ,想知道 wbopendata 的基本使用方法,直接 help wbopendata. 下面是命令 wbopendata 的基本语法

wbopendata, Parameters [Options]

Parameters 包括 country() topics () indicator() ,三个分别是指定需要下载的国家、主题或者具体的指标,其中 country indicator 一次可以指定多个国家和指标,中间用分号隔开,主题一次只能指定一个。注意: countrycode topic code indicator code 都是世界银行的 code 名称。

[Options] 包括 long,clear,latest,nometadata,year(year1:year2),language

Long :指定下载数据的类型为长型,默认是宽型

Clear :清空内存的数据

Latest :下载更新的数据

nometadata omits the display of metadata

year: 指定下载数据的年份起始点

language :指定语言,支持英语( en )、法语( fr )和西班牙语( es


2.examples

下载中国的所有数据

wbopendata,country(chn - China) clear

下载 topic2 的援助效率的数据,语言是英语

wbopendata,language(en - English) topics(2 - Aid Effectiveness) clear

下载 Agricultural machinery ,数据类型长型

wbopendata,language(en - English) indicator(ag.agr.trac.no - Agricultural machinery,tractors) long clear

下载多个国家

wbopendata,country(ago;bdi;chi;dnk;esp) indicator(sp.pop.0610.fe.un) clear

下载多个指标

wbopendata,indicator(si.pov.dday; ny.gdp.pcap.pp.kd) clear long

由于 wbopendata 的国家和指标变量名都是世界银行的固定模式,变量名称很长且比较麻烦,如果一个个的手动输入下载,估计各位看官还不如不使用这个命令。所以,下面就需要一点点小“心机”啦,借助 excel 成功实现“懒式”下载。


3. 批量下载如何做?

首先从世界银行网站( WDI 网址: http://databank.shihang.org (中文版); http://databank.worldbank.org (英文版)),随便选择一个国家(如 china ),一个年份(如 2016 ),选择你所需要的指标,然后下载下来,保存为世界发展指标 .xlsx 。表格中 sheet2- Definition and Source 会有各个变量名,我们只需导入 sheet2.

打开 stata ,导入 sheet2

cd C:\Stata15\personal

cap mkdir 世界银行 // 新建世界银行文件夹

cd 世界银行 // 下载的文件之后都在此文件夹下

*** 划重点!!!!

***心机1:只导入sheet2 。表格中 sheet2- Definition and Source 会有各个变量名,导入后我们会得到indicator code .

import excelusing C:\Stata15\personal\ 世界发展指标 .xlsx,  ///sheet("Definitionand Source") first case(lower) clear // 导入数据


** 心机2 :使用一个小循环,让 stata 自行下载每个变量,并分别保存成一个 .dta 文件

levelsofcode,clean local(var) // 将所有变量名 local var 暂元中

foreach x of local var {

wbopendata,indicator("`x'")clear long year(year1960-2016)

save wb`x'.dta,replace

}

这时,我们就将所有数据下载下来了


** 心机 3 openall 合并所有 .dta 文件 , 不再使用 merge,但是此举有个小问题,后面(或者下次)再说!!!!

fs wb?*.dta

openall

*** 再将不要的单个数据删除

foreach f in`r(files)' {

rm `f'

}


*** 心机 4 :批量修改变量名和加标签

这时候就要借助 excel

首先批量加中文标签,先将 sheet1 中的变量和中文名另放一个 sheet 中,使用 lower 函数将大写全部变成小写,再使用替换,将“ . ”换成“ _ , 这样可以和 stata 中的变量名称保持一致。



再生成几列 lable var“ ”, 变成最后的样子







请到「今天看啥」查看全文