我知道有几个人需要从欧盟统计局网站下载数据(例如, http://bit.ly/HrDTgT ),但我正在寻找的不是批量下载,但更类似于下载格式正确(小)的CSV文件。 例如,考虑以下代码段
library(XML)
mylines <- readLines(url("http://bit.ly/1czdbRq"))
closeAllConnections()
mylist <- readHTMLTable(mylines,## stringsAsFactors = FALSE ,
asText=TRUE)
mytable <- mylist$xTable
这已经接近我所需要的,但有一些我无法解决的问题 1)列名丢失 2)仅剩下数值。我丢失了有关数字所指国家的所有信息以及统计指标的(最终)水平/单位。
有关如何改进(可能在R中)的任何想法? 干杯
洛伦佐
答案 0 :(得分:1)
如@Sergey所示,您可以使用SDMX Web服务查询来自Eurostat的数据。使用SDMX Eurostat REST API,此数据(即使您指定了过滤器)也会生成一个Web URL(请参阅Eurostat indications以构建SDMX数据查询)。
在R中,您可以使用rsdmx包来读取数据。见下面的例子:
#in case you want to install rsdmx from Github
#(otherwise you can install it from CRAN)
require(devtools)
install_github("rsdmx", "opensdmx")
require(rsdmx)
#read EUROSTAT dataset
dataURL <- "http://ec.europa.eu/eurostat/SDMX/diss-web/rest/data/cdh_e_fos/..PC.FOS1.BE/?startperiod=2005&endPeriod=2011 "
sdmx <- readSDMX(dataURL)
stats <- as.data.frame(sdmx)
head(stats)
注意:您可以从CRAN找到rsdmx,也可以直接从GitHub存储库中安装它。 https://github.com/opensdmx/rsdmx
如果您想要更多示例,我邀请您查看rsdmx wiki。