R을 이용한 한국은행 API로 미국과 한국 이자율 시각화
한국은행 사이트에서 api 를 이용하여 데이터 시각화를 해 보았다.
여러 사이트들을 돌아다니며 R을 이용한 코드를 참고하려고 해도 마땅치 않았는데
R로 패키지를 만들어 놓으신 분이 있어 매우 편하게 할 수 있었다. (감사합니다. ^^)
https://github.com/seokhoonj/ecos
GitHub - seokhoonj/ecos: 한국은행 경제통계시스템 Economic Statistics System of Bank of Korea (Open API Service)
한국은행 경제통계시스템 Economic Statistics System of Bank of Korea (Open API Service) - GitHub - seokhoonj/ecos: 한국은행 경제통계시스템 Economic Statistics System of Bank of Korea (Open API Service)
github.com
우선 요즘 가장 핫한 정보인 한국과 미국의 이자율 데이터 시각화를 해 보았다.
한국은행 api key 신청 부터 함
한국은행 Open API 서비스
ecos.bok.or.kr
R 코드 작성
# 1. 패키지 설치 및 api key 입력
## 한국은행 R 패키지
# # install from CRAN
# install.packages("ecos")
#
# # Alternatively
# devtools::install_github("seokhoonj/ecos")
library(ecos)
api_key
# set your api key
ecos.setKey(api_key = "****************")
# or permanently
usethis::edit_r_environ() # add KOSIS_API_KEY="your_api_key" in .Renviron
# 2. 어떤 데이터를 볼 수 있는지 한번 훓어봄
# 3. 이자율 데이터 사용 (한국, 미국)
stat_code = "902Y006"
interest_rate_KR <- statSearch(stat_code = "902Y006", item_code1 = "KR", cycle = "M")
interest_rate_US <- statSearch(stat_code = "902Y006", item_code1 = "US", cycle = "M")
# 4. 시각화
bind_rows(interest_rate_KR %>% select(item_name1, time, data_value),
interest_rate_US %>% select(item_name1, time, data_value)) %>%
mutate(date = as.Date(paste(substr(time, 1, 4), substr(time, 5, 6), "01", sep = "-")),
data_value = as.numeric(data_value)) %>%
filter(date > "1999-12-31") %>%
ggplot(aes(x=date, y=data_value, col=item_name1))+geom_point()+geom_line()+
labs(y="이자율 %", x= "연도", col='국가')+
theme_minimal()
그럼 한국과 미국의 이자율 차이는 어떻게 될까?
한국의 이자율이 미국 보다 낮은 때는 경제 위기가 있었던 때가 아닐지...
앞으로 걱정된다.
bind_rows(interest_rate_KR %>% select(item_name1, time, data_value),
interest_rate_US %>% select(item_name1, time, data_value)) %>%
mutate(date = as.Date(paste(substr(time, 1, 4), substr(time, 5, 6), "01", sep = "-")),
data_value = as.numeric(data_value)) %>%
filter(date > "1999-12-31") %>%
group_by(date) %>% summarise(item_name1, data_value, .groups = "drop")%>%
pivot_wider(names_from = item_name1, values_from = data_value) %>%
mutate(delta = 한국-미국) %>%
ggplot(aes(x=date, y=delta))+geom_point()+geom_line()+
geom_hline(yintercept=0, linetype='dashed', color='red', size=1)+
labs(y="한국-미국 이자율 차이 %", x= "연도")+
theme_minimal()