DataMarket.com是2010年推出的一个数据门户网站,可以一站式访问各种公共和私营部门组织的统计数据和结构化数据。这使得用户非常方便的查找、比较、可视化和下载各类机构的公开数据,如联合国,世界银行,欧盟统计局。时间序列数据还可以与新闻事件相关联,并可以用任何选定的数据格式使用到任何地方。
我们在之前的博文中曾提到过DataMarket的数据源,本文简单介绍一下如何更方便的在R语言中调用DataMarket数据。
首先安装rdatamarket扩展包并加载
install.packages('rdatamarket')然后在Datamarket网站中搜索你需要的数据,例如中国的CPI数据,将网址复制下来,再使用dmlist命令将其转化为dataframe格式,以方便进一步处理。
library(rdatamarket)
data=dmlist('http://datamarket.com/data/set/148w/inflation-consumer-prices-annual#display=line&ds=148w|ga2=v.39.4f')其结果如下所示:
head(data)
Country Year Value数据中默认包含了香港和澳门地区,如果你想单独研究大陆地方也很容易
1 China 1987 7.219986
2 China 1988 18.736427
3 China 1989 18.333044
4 China 1990 3.058311
5 China 1991 3.543575
6 China 1992 6.340345
newdata=split(x=data,f=data$Country)另一种命令dmseries则将原始数据转化为时间序列格式zoo,其使用方法也是类似的
timedata=dmseries('http://datamarket.com/data/set/148w/inflation-consumer-prices-annual#display=line&ds=148w|ga2=v.39.4f')如果希望获取元数据信息则使用dminfo命令
info=dminfo('http://datamarket.com/data/set/148w/inflation-consumer-prices-annual#display=line&ds=148w|ga2=v.39.4f')从下面的结果可以看到此数据是由世界银行提供,引用的IMF数据
print(info)
Title: "Inflation, consumer prices (annual %)"
Provider: "World Bank" (citing "International Monetary Fund, International Financial Statistics and data files.")
Dimensions:
"Country" (180 values):
"Afghanistan"
"Albania"
"Algeria"
"Angola"
"Antigua and Barbuda"
[...]
没有评论:
发表评论