티스토리 뷰

R

열린재정 open API 사용 후기

비조 2019. 6. 6. 20:32

http://www.openfiscaldata.go.kr/portal/main.do

 

일단 잘 안된다.

아무래도 재정정보를 이용해 뭘 하려는 사람이 거의 없어서 그런지

설명문서도 2015년 것이 최근이고 관리가 잘 안되고 있는 것 같다.

URL 예가 나오면 좋은데, 그런 것이 구비가 되어 있지 않다(되어는 있는데 개발자가 용역금액에 불만이 있었었는지  하다 말은 것 같다).

시간은 몇 시간 썼는데, 관측치 5개 짜리 샘플 데이터 끌어다 쓴느데 만족해야겠다.

어쨋든 xml 형태로 샘플데이터를 받고, 아래 게시물에서 구했던 2015년 GDP를 이용한 국가채무비율을 다시 계산하였다.

2018년 국가채무비율은 38.2% 였는데, 바뀐 기준으로는 35.9%까지 내려가더라.

url <- "http://openapi.openfiscaldata.go.kr/GovernmentDebtYear?(인증키)/xml"

# xml 형태를 읽기
temp <- read_xml(url)
temp2 <- xml_children(temp)

# xml to data frame
lapply(2:length(temp2), 
       function(x){
         temp_row <- xml_find_all(temp2[x], './*')
         tibble(
           idx = x-1,
           key = temp_row %>% xml_name(),
           value = temp_row %>% xml_text()
         ) %>% return()
       }
) %>% 
  bind_rows() %>% 
  spread(key, value) -> temp3

debt <- data.frame( year = as.numeric(temp3$OJ_YY), 
                    debt.total = as.numeric(temp3$GOD_SUM_AMT),
                    debt.ratio = as.numeric(temp3$GOD_GDP_CMPRT))

# 앞에서 만들어 놓은 gdp 자료와 합쳤다.
debt.master <- merge(debt, gdp, by = "year")

debt.master %>% 
  mutate(debt.ratio.new = round(debt.total/(gdp.2015/1e+3)*100,1)) %>% 
  select(year, debt.ratio, debt.ratio.new) %>% 
  gather(type, value, -year) %>% 
  ggplot(aes(x = year, y = value, color = type)) +
  geom_line() +
  geom_point(size = 3) +
  scale_colour_discrete(labels = c("2010","2015"))

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함