ggvis入門 2015年8月30日 kobe.r 発表スライド

21
グラフは ggplot2 だけじゃない! ggvis 入門 Kobe.r 202015830@hikaru1122

Upload: hikaru-goto

Post on 21-Apr-2017

1.551 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: ggvis入門 2015年8月30日 Kobe.R 発表スライド

グラフは ggplot2 だけじゃない!ggvis 入門

Kobe.r第20回2015年8月30日

@hikaru1122

Page 2: ggvis入門 2015年8月30日 Kobe.R 発表スライド

はじめに

•五島 光(ごとう・ひかる) @hikaru1122

• R歴およそ1年。関連イベントはこれが初めて。

•最近、ベイズ推定が気になります。

• 『子犬本』に興味がある方はいっしょに読みませんか?

Page 3: ggvis入門 2015年8月30日 Kobe.R 発表スライド

http://hikaru1122.hatenadiary.jp/

Page 4: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ggvisとは•読み方は「じーじーびず」

• ggplot2 に似ていて、インタラクティブに操作できるグラフ作成ツール

• 「ggplot2, Shiny, dplyr, vega.js を統合したもの」

• Winston Chang& Hadley Wickham

Page 5: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ggvisとの出会い• きっかけは「ggplot2 なんか苦手」

• Datacampのグラフ作成講座が ggvisだった。

•ggplot2 よりシンプル、覚えやすい!

Page 6: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ggvisのイマイチなところ•箱ひげ図がうまく描けない。

•日本語の扱いができない。

• たまに動かなくなる。

Page 7: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ggvisのイマイチなところ> library(ggvis)

The ggvis API is currently rapidly evolving. We strongly recommend that you do not rely on this for production, but feel free to explore(以下、略)

• 「あんまりあてにしないでね」

• 「でも、いろいろ使ってみてね」

Page 8: ggvis入門 2015年8月30日 Kobe.R 発表スライド

使うデータ(プロ野球二軍 ウ・リーグ)

「プロ野球データFreak」より

Page 9: ggvis入門 2015年8月30日 Kobe.R 発表スライド

変数名を変えます

Page 10: ggvis入門 2015年8月30日 Kobe.R 発表スライド

三振する選手は本塁打も多い?

yakyu %>% ggvis(~sanshin, ~home_run) %>%

layer_points()

“then“からの~

x軸 y軸

散布図

Page 11: ggvis入門 2015年8月30日 Kobe.R 発表スライド

チーム別に色分けするyakyu %>% ggvis(~sanshin, ~home_run, fill = ~team) %>%

layer_points()

Page 12: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ちなみに、ややこしいですが・・・yakyu %>% ggvis(~sanshin, ~home_run, fill := “red”) %>%

layer_points()

Page 13: ggvis入門 2015年8月30日 Kobe.R 発表スライド

チームごとの傾向を見るyakyu %>% ggvis(~sanshin, ~home_run, fill = ~team, stroke = ~team) %>%

layer_points() %>%

group_by(team) %>%

layer_model_predictions(model = "lm")

グループ化線を色分け

線形回帰

Page 14: ggvis入門 2015年8月30日 Kobe.R 発表スライド

球団によって違いがあるみたい

Page 15: ggvis入門 2015年8月30日 Kobe.R 発表スライド

非線形回帰ならyakyu %>% ggvis(~sanshin, ~home_run, fill = ~team, stroke = ~team) %>%

layer_points() %>%

group_by(team) %>%

layer_smooths()

Page 16: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ここから ggvisが得意なところyakyu %>%

ggvis(~sanshin, ~home_run, fill = ~team, stroke = ~team) %>%

layer_points() %>%

group_by(team) %>%

layer_model_predictions(model = input_select(c("lm", "loess")))

インタラクティブにする

Page 17: ggvis入門 2015年8月30日 Kobe.R 発表スライド

モデル選択ができるようになる

ここで選択

ブラウザが起動

Page 18: ggvis入門 2015年8月30日 Kobe.R 発表スライド

作ったグラフを操作できるyakyu %>%

ggvis(~sanshin, ~home_run, fill = ~team, stroke = ~team) %>%

layer_points() %>%

group_by(team) %>%

layer_smooths(span = input_slider(0, 1, value=0.75))

今度はスライダー

• よく操作できなくなります。

• まだ ggvis が発展途上中なので許してあげて!

Page 19: ggvis入門 2015年8月30日 Kobe.R 発表スライド

ヒストグラムをインタラクティブに

yakyu %>%

ggvis(~home_run) %>%

layer_histograms(width = input_slider(0, 2, value = 1, step = 0.05),

boundary = 0)

目盛りが0.05刻み

Page 20: ggvis入門 2015年8月30日 Kobe.R 発表スライド

まとめ

• さらっとそこそこオシャレな作図なら ggvisがオススメ。

•初心者には ggplot2 より ggvis が覚えやすい。

•動的なグラフを作れるので楽しい(※すぐ飽きる)。

• ggplot2 と ggvis をうまく使いわけよう!

Page 21: ggvis入門 2015年8月30日 Kobe.R 発表スライド

参考資料

• Knowledge as Practicehttp://hikaru1122.hatenadiary.jp/

• Rとウェブの融合(7)ーggvisパッケージーhttp://kohske.github.io/ESTRELA/201502/index.html

• Introducing ggvishttp://blog.rstudio.org/2014/06/23/introducing-ggvis/

• Data Visualization in R with ggvishttps://www.datacamp.com/courses/ggvis-data-visualization-r-tutorial

• ggvis 0.4 overviewhttp://ggvis.rstudio.com/

• useR! 2014 "Introducing ggvis"

• MANGO SOLUTIONS "Introduction to ggvis"