vdmR package(Tokyo.R#55のLT)

Tokyo.R#55に参加してきました。LTで自分の作成したvdmR packageを紹介しましたが、スライドのほとんどがスクリーンキャストだったので、スライドではなくこちらにまとめておきます。

vdmR packageとは

  • VDM:Visual Data Mining
  • 探索的データ解析のための対話的統計グラフィックス
  • 最新バージョンは0.2.2(最初のリリースは2014-09-20)

基本機能

  • データフレームから複数のプロットを出力し、1つのプロットにおけるデータ点の選択によって、他のプロットの対応する点やデータテーブルの対応するレコードがハイライトする(Multiple Linked View
  • プロットはJavaScriptを含んだHTMLやSVGで出力され、ブラウザ上に表示される。

デモ1(基本機能)

デモ2(コロプレス図)

デモ1のコード

# パッケージのインストールとロード
install.packages("vdmR")
library(vdmR)

# サンプルデータの読み込み
data(vsfuk2012)
head(vsfuk2012[,1:5])

# 死亡率と出生率の散布図
# Working DirectoryにHTMLとSVGが出力される
vscat(MortalityRate, FertilityRate, vsfuk2012,
      "scat01", "vsfuk2012", color=Type, size=pop_male)

# 婚姻率のヒストグラム
# Working DirectoryにHTMLとSVGが出力される
vhist(MarriageRate, vsfuk2012, "hist01", "vsfuk2012",
      fill=I("darkgreen"), color=I("black"))

# Working DirectoryにデータテーブルのHTMLが出力され
# デフォルトブラウザで表示される
vlaunch(vsfuk2012, "main", "vsfuk2012")

# inline表示
vlaunch(vsfuk2012, "main", "vsfuk2012", iframe=T)

デモ2のコード

# 平行座標プロットの出力
vpcp(vsfuk2012, 4:17, "pcp1", "vsfuk2012",
     groupColumn="Type", scale="uniminmax", missing="min10")

# コロプレス図

# maptoolsの読み込み(事前にインストール)
library(maptools)

# サンプルで同梱されているシェープファイルのパスを指定
shp.path <- file.path(system.file(package="vdmR"),
                      "etc/shapes/fukuoka2012.shp")

# シェープファイルの読み込み
vsfuk2012.spdf <- readShapeSpatial(shp.path, IDvar="CityCode")

# 属性テーブルのプレビュー
head(vsfuk2012.spdf@data)

# 塗り分けのための色の設定
frcol <- ggplot2::scale_fill_gradient2(low="blue", mid="white", high="red",
                                       midpoint=median(vsfuk2012$FertilityRate))

# コロプレス図の出力
vcmap(shp.path, vsfuk2012, "CityCode", "CityCode", "map1", "vsfuk2012",
      fill=FertilityRate, ggscale=frcol)

# データテーブルとプロットの表示(インライン)
vlaunch(vsfuk2012, "main", "vsfuk2012", iframe=T)