완벽한 논문을 위한 R 프로그래밍 분석
수업을 들으면서 당초 막혔던 부분을 2차로 풀어보니 성공해서 저와 같은 'API호출'문제를 겪고 계신 학생분들에게 큰 힘이되었으면 합니다...!
많이든 fastcampus로 R 프로그래밍 공부를 할텐데 치명적인 단점으로 Q&A가 안된다는 점...저도 막힐때 마다 블로그 돌아돌아 계속 수정해나갔네요 ㅠㅠ
같이 풀어나가 봅시다
www.data.go.kr " 아파트 매매 상세자료 "
# API 호출
## 지역코드(lawd_cd) 목록 생성
region_cd <- read.csv('region_cd.csv')
View(region_cd)
library(dplyr)
library(data.table)
lawd_cd <- region_cd %>% filter(region %like% '서울특별시')
lawd_cd <- lawd_cd[, 2]
## 연월(deal_ymd) 목록 생성(6자리)
temp <- merge(c(2010:2020), c(1:12))
temp$y <- if_else(temp$y < 10, paste0(0, temp$y), as.character(temp$y))
deal_ymd <- paste0(temp$x, temp$y) %>% as.integer()
## 반복문으로 지역/연월별 API 호출
df <- NULL
api_key <- '복붙'
library(XML)
for (i in lawd_cd) {
for (l in deal_ymd) {
url <- paste0('http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev?LAWD_CD=',i,'&DEAL_YMD=',l,'&serviceKey=',api_key,'&numOfRows=100000')
raw.data <- xmlTreeParse(url, useInternalNodes = T)
xml_rootnode <- try(xmlRoot(raw.data))
xml_result <- xmlToDataFrame(xml_rootnode[[2]][['items']])
df <- rbind(df, xml_result)
}
}
이렇게 까지 완성하면 용량이 엄청 큰 excel 파일이 만들어지게 됩니다.
이걸 활용해서 전체 서울 아파트 매매가와 강남 아파트 매매가를 비교하는 등 다양하게 활용가능합니다!
저는 상단의 반복문에서 분명히 강사분의 메모를 보고 똑같이 따라했는데 오류가 나서, 생각해보니 여러가지 프로그래밍 설정도 다를테고, 강사분은 참고로 쓴 것을 저는 그대로 구문인줄 착각하면서 쓰는 등 이런 문제들이 발생했습니다.
모쪼록 패캠에서는 강의내용을 캡처가 아닌 코드문 첨부파일로 주시길... 후...