티스토리 뷰

R

한국은행 open API 이용하기

비조 2019. 6. 6. 01:18

이번 학기 동안 우리 공장에 공원이 없어서 

자료를 직접 수집하고 클리닝 하게 된다(요즘말로는 전처리).

예전 같으면 사이트 방문하면서 다운 받아서 정리를 시작하는데,

그것도 귀찮아져서 공공 사이트는 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 ) )

 

이렇게 말이다.

 

2010년 기준 대비 변화율

참, GDP 새로 발표되면서 조세부담률이랑 국가채무비율 많이 내려갔다.

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함