我想从经合组织网站中提取数据,特别是数据集“REGION_ECONOM”,其维度为“GDP”(各个地区的 GDP)和“POP_AVG”(各个地区的平均人口)。
这是我第一次这样做:我在 OECD 网站上选择了所有必需的维度并复制了 SDMX (XML) 链接。
我尝试将它们加载到 R 中并使用以下代码将它们转换为数据框:(在链接中,我将所有区域的列表替换为“ALL”,否则链接将长达六页)
if (!require(rsdmx)) install.packages('rsdmx') + library(rsdmx)
url2 <- "https://stats.oecd.org/restsdmx/sdmx.ashx/GetData/REGION_ECONOM/1+2.ALL.SNA_2008.GDP+POP_AVG.REAL_PPP.ALL.1990+1991+1992+1993+1994+1995+1996+1997+1998+1999+2000+2001+2002+2003+2004+2005+2006+2007+2008+2009+2010+2011+2012+2013+2014+2015+2016+2017+2018/all?"
sdmx2 <- readSDMX(url2)
stats2 <- as.data.frame(sdmx2)
head(stats2)
不幸的是,这会返回“400 Bad request”错误。
仅选择几个区域时,不会出现错误:
if (!require(rsdmx)) install.packages('rsdmx') + library(rsdmx)
url1 <- "https://stats.oecd.org/restsdmx/sdmx.ashx/GetData/REGION_ECONOM/1+2.AUS+AU1+AU101+AU103+AU104+AU105.SNA_2008.GDP+POP_AVG.REAL_PPP.ALL.1990+1991+1992+1993+1994+1995+1996+1997+1998+1999+2000+2001+2002+2003+2004+2005+2006+2007+2008+2009+2010+2011+2012+2013+2014+2015+2016+2017+2018/all?"
sdmx1 <- readSDMX(url1)
stats1 <- as.data.frame(sdmx1)
head(stats1)
我还尝试使用“OECD”包来获取数据。在那里我遇到了同样的问题。(“400 错误请求”)
if (!require(OECD)) install.packages('OECD') + library(OECD)
df1<-get_dataset("REGION_ECONOM", filter = "GDP+POP_AVG",
start_time = 2008, end_time = 2009, pre_formatted = TRUE)
但是,当我将包用于其他数据集时,它确实有效:
df <- get_dataset("FTPTC_D", filter = "FRA+USA", pre_formatted = TRUE)
有谁知道我的错误可能在哪里?