1

我知道有几个人需要从 Eurostat 网站下载数据(参见例如 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 中)?干杯

洛伦佐

4

1 回答 1

1

正如@Sergey 所指出的,您可以使用 SDMX Web 服务从 Eurostat 查询数据。使用 SDMX Eurostat REST API,此数据(即使您指定过滤器)将生成单个 Web URL(请参阅 Eurostat指示以构建 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 。

于 2014-10-26T15:42:09.750 回答