首页 > 解决方案 > R中的OECD包和下载数据的问题

问题描述

我正在尝试使用 R 中的 OECD 软件包直接从 OECD 网站下载数据。我特别尝试从 OECD 国家移民数据库 (DIOC) 或更精确的数据 DIOC_CITIZEN_AGE 移民中按公民身份和年龄下载数据。为了做到这一点,我写了这行代码:

library(OECD)
library(dplyr)

data_bases<-search_dataset("immigrants", data = get_datasets(), ignore.case= TRUE)
dataset <-"DIOC_CITIZEN_AGE"
get_dataset(dataset = dataset,filter = list(c("AUS", "EST")), start_time = 2010,
              end_time = 2020)

执行上面的代码后,出现以下错误

Bad Request (HTTP 400).Error in rsdmx::readSDMX(url) : HTTP request failed with status: 400 

那么有人可以帮我解决这个问题吗?

标签: r

解决方案


首先看一下这个数据集中变量的描述:

dataset <- "DIOC_CITIZEN_AGE"
dstruc <- get_data_structure(dataset)
dstruc$VAR_DESC

你会看到第一个变量是COUB(出生国家)

查看此变量的可能值:

dstruc$COUB

您会发现 EST 没有被列为可能的国家(您的意思是 USSR-EST?),所以以下工作:

df <- get_dataset(dataset = dataset, filter = list(c("AUS")))

显然,此数据集中没有TIME变量,因此start_timeandend_time参数也不起作用。


推荐阅读