티스토리 뷰
이번 학기 동안 우리 공장에 공원이 없어서
자료를 직접 수집하고 클리닝 하게 된다(요즘말로는 전처리).
예전 같으면 사이트 방문하면서 다운 받아서 정리를 시작하는데,
그것도 귀찮아져서 공공 사이트는 open API를 사용하게 된다.
기관마다 달라서 시간이 좀 걸리는데, 하는 김에 대충 정리해 놓으면 나중에 편할 것 같아서 정리해본다.
이번에는 한국은행 open API 에 대해서 설명해보자.
1. 한국은행 -> 통계 -> open API 에 가서 인증키를 신청하고 받자.
2. 통계코드와 항목코드를 확인하자. 오늘은 GDP가 업데이트 되었기 때문에 다음의 항목을 불러보자.
a. 연간 GDP: 111Y002
b. 원화 명목 GDP: 10101
3. 통계 조회 조건 설정 탭을 살펴보면, 요청인자가 나와 있다. 이걸 보고 아래와 같이 URL을 조합해주었다.
# BOK data
library(jsonlite)
library(dplyr)
library(ggplot2)
api_key = "************"
file_type = "json/"
lang_type = "kr/"
start_no = "1/"
end_no = "100/"
stat_code = "111Y002/"
cycle_type = "YY/"
start_date = "1991/"
end_date = "2018/"
item_1 = "10101/"
item_2 = "?/"
item_3 = "?"
url = paste0("http://ecos.bok.or.kr/api/StatisticSearch/",
api_key,
file_type,
lang_type,
start_no,
end_no,
stat_code,
cycle_type,
start_date,
end_date,
item_1,
item_2,
item_3)
4. 이번에는 json 타입으로 다운을 받을 거라서 readLines() 를 아래와 같이 사용하고,
fromJSON() 함수를 이용하여 data frame 형태로 저장하였다.
raw.data <- readLines(url, warn = "F", encoding="UTF-8")
df<- fromJSON(raw.data, simplifyDataFrame = TRUE)
5. 이렇게 불러들인 자료를 가지고 아래와 같이 그림을 그렸다.
gdp <- data.frame(
year = as.numeric(df$StatisticSearch$row$TIME),
gdp = as.numeric(df$StatisticSearch$row$DATA_VALUE)
)
gdp %>%
ggplot(mapping = aes(x = year)) +
geom_line( aes( y = gdp ) ) +
geom_point( aes( y = gdp ) )
이렇게 말이다.
참, GDP 새로 발표되면서 조세부담률이랑 국가채무비율 많이 내려갔다.
'R' 카테고리의 다른 글
2019년 정부 예산 treemap 그리기 (2) | 2019.06.14 |
---|---|
열린재정 open API 이용하여 parsing 하기 (3) | 2019.06.08 |
열린재정 open API 사용 후기 (0) | 2019.06.06 |
airkorea 자료를 이용해서 대기질 관련 자료 만들기 (0) | 2019.06.04 |
open API 를 이용해 PM10 과 PM 2.5 시군구 자료 읽어 들이기 (0) | 2019.06.03 |