반응형
오픈API를 활용한 대기오염정보 조회(2)
Chocochip
2017년 12월 30일
이 자료는 R markdown에서 작성하였습니다.
R에서 데이터 확인하기
필요한 라이브러리를 불러옵니다.
##install.packages("rvest")
##install.packages("XML")
##install.packages("data.table")
library(rvest)
library(XML)
library(data.table)
지난 블로그 오픈API를 활용한 대기오염정보 조회(1)의 미리보기 주소로 데이터를 가지고 옵니다.
api_url <- ("http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getMsrstnAcctoRltmMesureDnsty?serviceKey=9x8WeUtQ1a6VrfDnAAN3PDJhSp4VFdoqfopYR4K31SeTR08xHjM3W05qW13HYEdKtOAu3U4RSeOfErde0EP2ng%3D%3D&numOfRows=10&pageSize=10&pageNo=1&startPage=1&stationName=%EC%A2%85%EB%A1%9C%EA%B5%AC&dataTerm=DAILY&ver=1.3")
data3 <- xmlTreeParse(api_url,useInternalNodes = T, encoding = "UTF-8")
rootNode <- xmlRoot(data3)
items = rootNode[[2]][["items"]]
size=xmlSize(items)
data_subtotal <- list()
test2 <- data.frame()
test3 <- list()
for(i in 1:size)
{
test <- xmlSApply(items[[i]],xmlValue)
test2 <- data.table(Time=test[[1]],
Name=test[[2]],
so2=test[[3]],
co=test[[4]],
o3=test[[5]],
no2=test[[6]],
pm10=test[[7]],
pm1024=test[[8]],
pm25=test[[9]],
pm2524=test[[10]],
khai=test[[11]],
khaigrade=test[[12]],
so2grade=test[[13]],
cograde=test[[14]],
o3grade=test[[15]],
no2grade=test[[16]],
pm10grade=test[[17]],
pm25grade=test[[18]],
pm101hgrade=test[[19]],
pm251hgrade=test[[20]])
test3[[i]]=test2
}
test4 <- rbindlist(test3)
저장한 자료에서 미세먼지(pm25)에 관한 자료를 꺽은선 그래프로 나타내보겠습니다.
attach(test4)
plot(pm25)
다음에는 관측소의 위치정보 자료를 조회해보겠습니다.
반응형
'R 크롤링' 카테고리의 다른 글
오픈API를 활용한 대기오염정보 조회(4) (0) | 2018.01.01 |
---|---|
오픈API를 활용한 대기오염정보 조회(3) (0) | 2017.12.31 |
오픈API를 활용한 대기오염정보 조회(1) (0) | 2017.12.29 |
[R크롤링] 8. 웹사이트 스크래핑 예제 : IMDb site (0) | 2017.12.22 |
[R크롤링] 7. 텍스트마이닝: 연관어 분석 (4) | 2017.12.20 |