PM2.5の可視化

友人からも聞くし↓にもあるが福岡ではPM2.5が日常化しているらしい。
http://d.hatena.ne.jp/showgotch/20130522/1369225950

提供されている可視化の仕組みはこれ。
http://www.fukuokakanshi.com/kankyo/servlet/ctlLogin?flg=1&rflg=1

使いづらかったので直接データをとって可視化することにした。
データ蓄積した上でshiny使って可視化するというのもありかもしれんがまた今度。
enjoy!!!

### マジックナンバーだらけでごめんね

library(XML)
library(reshape2)
library(ggplot2)

date_origin <- Sys.Date()

res <- NULL
for(i in 1:30){
u <- sprintf("http://www.fukuokakanshi.com/web/data/051/taikiHourItemvalue%s.htm", formatC(i, flag="0", width=2))
res0 <- readHTMLTable(u, encoding="shift-jis", stringsAsFactors=FALSE, skip.rows=1, header=FALSE)[[3]][1:8,2:25]
res0$name <- c("香椎", "吉塚", "市役所", "長尾", "元岡", "千鳥橋", "大橋", "新西")
res0$date <- date_origin-i-1
res <- rbind(res, res0)
}


res <- melt(res, id.var=c("name", "date"))
res$variable <- as.numeric(gsub("V", "", res$variable))-1
res$value <- as.numeric(res$value)
res$datetime <- as.POSIXct(paste0(res$date, " ", formatC(res$variable, flag="0", width=2), ":00:00"))

ggplot(res, aes(x=datetime, y=value, group=name, color=name)) + geom_smooth(se=FALSE)