ggvis に5時間ほど触れてわかったこと
昨日に引き続き、ggvis をいじりました。仕事が終わってから、下のコースで5時間ほど格闘。開発者の発音によると、ggvis は「じーじーびず」と読むようです。
www.datacamp.com
ggplot2 よりできることは少ないけれど、シンプルにサクッときれいなグラフを作るなら向いていると思います。最大の弱点は、現時点(2015年7月末)で日本語が使えないこと。
たとえば、下の図は横軸が「当期利益」、縦軸が「売上高」なのですが、文字化けしてしまっています。
あと、印刷向けではないようです*1。それさえ気にしなければ、けっこう使えるツールです。特に、パイプ %>%
をどんどん使って表現できるので、スクリプトがシンプルになって見やすい。
mtcars %>% ggvis(~wt, ~mpg) %>% layer_points() %>% layer_model_predictions(model = "lm")
これは「データセット mtcars を ggvis に渡して、mtcars の中の wt 列のデータを x 軸に、mpg 列のデータを y 軸にとって点を打ち、使うデータはそのままで線形回帰直線を引く」です*2。
また、個人的な印象ですが、ggplot2 の geom よりは、ggvis の layer のほうが入力しやすいんです…。「レイヤー」という言葉がなじみやすいせいでしょうか。
最後に ggvis で混乱するところを1つだけご紹介します。それは =
と :=
の違い。たとえば、次のコード。出力される図も載せます。
mtcars %>% ggvis(~wt, ~mpg, fill = ~wt, size :=50) %>% layer_points()
余計に1つ fill
のあとに :
を打つとこうなります。
mtcars %>% ggvis(~wt, ~mpg, fill := ~wt, size :=50) %>% layer_points()
wt
にはいろいろな数値が入っています。上の図では、その数値の大きさに対応させてグラーデーションをつけています(色は自動に任せました。設定もできます)。データを活用して何らかの変化する表現を行う場合は =
を使います。
逆に「これっ!」と決め打ちする場合は :=
を使います*3。「点のサイズは50!」というわけです。下の図では、:=~wt
とやってしまって、色がデフォルトの黒で固定されています。せっかく変化させられるのに、黒でセットされているわけです。:
1つで大きな違いになって、ややこしいところですが、使っているうちに慣れるかなと思っています。
以上、ggvis の簡単なレビューでした。
*1:最大の特徴がインタラクティブなグラフを作れることなので、ウェブ向けなのです。
*2:より詳細にパイプのことを知りたい場合は、こちらのムック本がおすすめです。 データサイエンティスト養成読本 R活用編 【ビジネスデータ分析の現場で役立つ知識が満載! 】 (Software Design plus)
*3:Datacamp の説明では「セットする」という表現を使っていました。