R로 OECD 최신데이터 불러오기
데이터
API
(작성중)
주의
아직 미완성된 게시물입니다.
1 개요
테스트 문장입니다 (Abrahamson, 2011).
테스트 문장입니다 (Abrahamson, 2011, p. 123).
Abrahamson (2011) 테스트 문장입니다.
가나다라 마바사.
data_url <- "https://sdmx.oecd.org/public/rest/data/OECD.WISE.INE,DSD_WISE_IDD@DF_IDD,/JPN+ITA+FRA+DEU+AUT+NOR+CAN+FIN+DNK+SWE+USA+GBR+AUS+KOR.A.INC_DISP_GINI..._T.METH2012..?startPeriod=2010&endPeriod=2023&dimensionAtObservation=AllDimensions"
response <- GET(data_url)
json_text <- content(response, as = "text", encoding = "UTF-8")
json_data <- fromJSON(json_text)
obs_dim <- json_data$structure$dimensions$observation
time_values <- obs_dim$values[[10]]
time_labels <- time_values$id
ref_area_dim <- obs_dim$values[[1]]
ref_area_labels <- ref_area_dim$id
series_list <- obs_dim$values[[1]]$id
results <- data.frame()
obs <- json_data$data$observations
dims <- json_data$structure$dimensions$observation
# 각 차원의 인덱스를 실제 값으로 매핑
get_label <- function(dim_index, value_index) {
dims[[dim_index + 1]]$values[[value_index + 1]]$id
}
# 결과 저장용
results <- data.frame()
# 관측값 순회하며 정리
for (key in names(obs)) {
key_parts <- as.numeric(strsplit(key, ":")[[1]])
time <- get_label(0, key_parts[1])
country <- json_data$structure$dimensions$series[[1]]$values[[key_parts[2] + 1]]$id
value <- obs[[key]][[1]]
results <- rbind(results, data.frame(country = country, year = time, gini = value))
}
# 보기 좋게 정렬
results <- results %>% arrange(country, year)
print(results)
References
Abrahamson, P. (2011) “The Welfare Modelling Business Revisited: The Case of East Asian Welfare Regimes.” In Hwang, G.-J. (ed), Edward Elgar Publishing.