datamarket.comのデータをgoogleVisで可視化
datamarket.comというサイトがある。
http://datamarket.com/
世界の公開データを片っ端から集めており可視化までしてくれている。
最近そこからデータをひっぱってこれるrdatamarketというパッケージが公開された。
せっかくなのでそこからデータを2つ指定してMotionChartで可視化するコードを書いた。
なお、データには年と国名が含まれていることが条件なので注意。
こんな感じで表示される。
comparePlot <- function(urldata1, urldata2, data1name="data1", data2name="data2"){ require(rdatamarket) require(googleVis) require(ggplot2) getDM <- function(url){ dminfo(url) data <- dmseries(url) data <- data.frame(year=index(data), as.data.frame(data)) data <- melt(data, id.vars="year") colnames(data) <- c("year", "country", "value") invisible(data) } data1 <- getDM(urldata1) data2 <- getDM(urldata2) result <- merge(data1, data2, by=c("year", "country")) result <- subset(result, complete.cases(result)) colnames(result) <- c("year", "country", data1name, data2name) result$year <- as.Date(paste(sep="/", result$year, "01/01")) plot(gvisMotionChart(result, idvar="country", timevar="year")) } urldata1 <- "http://datamarket.com/data/set/15nl/gini-index#display=line&ds=15nl|ho8" urldata2 <- "http://datamarket.com/data/set/15n6/health-expenditure-public-of-gdp#display=line&ds=15n6|hnt" data1name <- "GINI" data2name <- "HEperGDP" comparePlot(urldata1, urldata2, data1name, data2name)