tokyor42 ggplot2

95
ggplot2による データ可視化 洋平 (@yokkuns) 第42回Tokyo.R 初心者セッション 2014.08.30

Upload: yohei-sato

Post on 31-May-2015

5.867 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Tokyor42 ggplot2

ggplot2によるデータ可視化

里 洋平  (@yokkuns)

第42回Tokyo.R  初心者セッション

2014.08.30

Page 2: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 3: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 4: Tokyor42 ggplot2

自己紹介

里  洋平  (@yokkuns)

Ø  やってきたことØ  Webアプリ開発Ø  統計解析/データマイニングØ  マーケティング

Ø  今やってることØ  全社横断の分析Ø  分析環境の整備

Page 5: Tokyor42 ggplot2

活動例1:やってきたこと

Page 6: Tokyor42 ggplot2

活動例2:TokyoR

Tokyo.Rの主催やってます

Page 7: Tokyor42 ggplot2

活動例3:執筆

Page 8: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 9: Tokyor42 ggplot2

ggplot2パッケージとは

統一されたインタフェースとオプションで簡単にきれいでパワフルなグラフが作成出来るパッケージ

Page 10: Tokyor42 ggplot2

ggplot2によるグラフ作成のイメージ

Page 11: Tokyor42 ggplot2

ggplot2によるグラフ作成の流れ

Page 12: Tokyor42 ggplot2

本資料で使用するデータ

仮想の売上データ

Ø  商品1の月次売上データ

Ø  商品1,2の月次売上データ

Ø  店舗1〜3の商品3,4の日次売上データ

Page 13: Tokyor42 ggplot2

データの作成  ①:商品1の月次売上データ

Page 14: Tokyor42 ggplot2

データの作成  ②:商品1,2の月次売上データ

メッセージライン

Page 15: Tokyor42 ggplot2

データの作成  ③:店舗1〜3の商品3,4の日次売上データ

メッセージライン

Page 16: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 17: Tokyor42 ggplot2

基本的な棒グラフ

Page 18: Tokyor42 ggplot2

背景色の変更

背景色を白にしたい

Page 19: Tokyor42 ggplot2

背景色の変更(Rコード)

theme_bw関数を使う

Page 20: Tokyor42 ggplot2

背景色の変更(結果)

Page 21: Tokyor42 ggplot2

軸ラベル・タイトルの変更

軸ラベルやタイトルを日本語にしたい

Page 22: Tokyor42 ggplot2

軸ラベル・タイトルの変更(Rコード)

xlab、ylab、ggtitle関数を使う

Page 23: Tokyor42 ggplot2

軸ラベル・タイトルの変更(結果)

Page 24: Tokyor42 ggplot2

数字フォーマットの変更

y軸の数字をカンマ区切りにしたい

Page 25: Tokyor42 ggplot2

数字フォーマットの変更(Rコード)

scalesパッケージのcomma関数を使う

Page 26: Tokyor42 ggplot2

数字フォーマットの変更(結果)

Page 27: Tokyor42 ggplot2

テキストの追加

棒グラフの上に数字を載せたい

Page 28: Tokyor42 ggplot2

テキストの追加(Rコード)

geom_text関数を使う

Page 29: Tokyor42 ggplot2

テキストの追加(結果)

Page 30: Tokyor42 ggplot2

追加的ストの加工

テキスト(数字)をカンマ区切りにしたい

Page 31: Tokyor42 ggplot2

追加的ストの加工(Rコード)

scalesパッケージのcomma関数を使う

Page 32: Tokyor42 ggplot2

追加的ストの加工(結果)

Page 33: Tokyor42 ggplot2

積み上げ棒グラフの作成

積み上げ棒グラフを作りたい

Page 34: Tokyor42 ggplot2

積み上げ棒グラフの作成(Rコード)

fillオプションにグループとなる変数を指定する

Page 35: Tokyor42 ggplot2

積み上げ棒グラフの作成(結果)

Page 36: Tokyor42 ggplot2

色セットの変更

棒の色セットを変更したい

Page 37: Tokyor42 ggplot2

色セットの変更(パレットの確認)

RColorBrewerパッケージ

Page 38: Tokyor42 ggplot2

色セットの変更(パレットの確認)

display.brewer.all関数でパレットを確認

Page 39: Tokyor42 ggplot2

色セットの変更(Rコード)

scale_fill_brewer関数を使う

Page 40: Tokyor42 ggplot2

色セットの変更(結果)

Page 41: Tokyor42 ggplot2

棒に枠をつける

棒に枠をつけたい

Page 42: Tokyor42 ggplot2

棒に枠をつける(Rコード)

colオプションに枠色を指定する

Page 43: Tokyor42 ggplot2

棒に枠をつける(結果)

Page 44: Tokyor42 ggplot2

100%積み上げ棒グラフの作成

100%積み上げ棒グラフを作りたい

Page 45: Tokyor42 ggplot2

100%積み上げ棒グラフ  (Rコード)

positionオプションにfillを指定する

Page 46: Tokyor42 ggplot2

100%積み上げ棒グラフ  (結果)

Page 47: Tokyor42 ggplot2

棒を水平に並べる

棒を水平に並べたい

Page 48: Tokyor42 ggplot2

棒を水平に並べる  (Rコード)

positioinオプションにdodgeを指定する

Page 49: Tokyor42 ggplot2

棒を水平に並べる  (結果)

Page 50: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 51: Tokyor42 ggplot2

折れ線グラフの作成

折れ線グラフを作りたい

Page 52: Tokyor42 ggplot2

折れ線グラフの作成  (Rコード)

geom_line関数を使う

Page 53: Tokyor42 ggplot2

折れ線グラフの作成  (結果)

Page 54: Tokyor42 ggplot2

y軸の範囲指定

y軸の範囲を指定したい

Page 55: Tokyor42 ggplot2

y軸の範囲指定  (Rコード)

scale_y_continuous関数のlimitsオプションを使う

Page 56: Tokyor42 ggplot2

y軸の範囲指定  (結果)

Page 57: Tokyor42 ggplot2

点の追加

折れ線グラフに点を追加したい

Page 58: Tokyor42 ggplot2

点の追加  (Rコード)

geom_point関数を追加する

Page 59: Tokyor42 ggplot2

点の追加  (結果)

Page 60: Tokyor42 ggplot2

折れ線グラフのグループ化

グループごとの折れ線グラフを作りたい

Page 61: Tokyor42 ggplot2

折れ線グラフのグループ化  (Rコード)

groupとcolオプションにグループとなる変数を指定する

Page 62: Tokyor42 ggplot2

折れ線グラフのグループ化  (結果)

Page 63: Tokyor42 ggplot2

線の種類の変更

グループごとに線の種類を変えたい

Page 64: Tokyor42 ggplot2

線の種類の変更  (Rコード)

ltyオプションにグループとなる変数を指定

Page 65: Tokyor42 ggplot2

線の種類の変更  (結果)

Page 66: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 67: Tokyor42 ggplot2

散布図の作成

散布図を作りたい

Page 68: Tokyor42 ggplot2

散布図の作成  (Rコード)

geom_point関数を使う

Page 69: Tokyor42 ggplot2

散布図の作成  (結果)

Page 70: Tokyor42 ggplot2

色と形の変更

グループごとに色と形を変えたい

Page 71: Tokyor42 ggplot2

色と形の変更  (Rコード)

colとshapeオプションにグループとなる変数を指定する

Page 72: Tokyor42 ggplot2

色と形の変更  (結果)

Page 73: Tokyor42 ggplot2

回帰直線の追加

回帰直線を追加したい

Page 74: Tokyor42 ggplot2

回帰直線の追加  (Rコード)

geom_smooth関数を使う

Page 75: Tokyor42 ggplot2

回帰直線の追加  (結果)

Page 76: Tokyor42 ggplot2

グループ別回帰直線

グループごとに回帰直線を引きたい

Page 77: Tokyor42 ggplot2

グループ別回帰直線  (Rコード)

グループ化してgeom_smooth関数を使う

Page 78: Tokyor42 ggplot2

グループ別回帰直線  (結果)

Page 79: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 80: Tokyor42 ggplot2

ヒストグラムの作成

ヒストグラムを作りたい

Page 81: Tokyor42 ggplot2

ヒストグラムの作成  (Rコード)

geom_histogram関数を使う

Page 82: Tokyor42 ggplot2

ヒストグラムの作成  (結果)

Page 83: Tokyor42 ggplot2

色の変更

棒を白抜きにしたい

Page 84: Tokyor42 ggplot2

色の変更  (Rコード)

colオプションとfillオプションで線と棒の色を指定する

Page 85: Tokyor42 ggplot2

色の変更  (Rコード)

Page 86: Tokyor42 ggplot2

ビン幅の変更

棒の幅を変更したい

Page 87: Tokyor42 ggplot2

ビン幅の変更  (Rコード)

binwidthオプションを使う

Page 88: Tokyor42 ggplot2

ビン幅の変更  (結果)

Page 89: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 90: Tokyor42 ggplot2

箱ひげ図の作成

箱ひげ図を作りたい

Page 91: Tokyor42 ggplot2

箱ひげ図の作成  (Rコード)

geom_boxplot関数を使う

Page 92: Tokyor42 ggplot2

箱ひげ図の作成  (結果)

Page 93: Tokyor42 ggplot2

AGENDA

n 自己紹介n  ggplot2によるデータの可視化n  ggplot2とはn 棒グラフn 折れ線グラフn 散布図n ヒストグラムn 箱ひげ図

Page 94: Tokyor42 ggplot2

参考

■書籍・戦略的データマイニング  (シリーズ  Useful  R  4)      -  http://amzn.to/1otigKO

■Rコードと実行結果・TokyoR#42  データの可視化(ggplot2)      -  http://rpubs.com/yokkuns/27108  

第1章  序論第2章  データ加工第3章  データ可視化第4章  問題発見第5章  問題解決:意思決定支援第6章  問題解決:自動化・最適化第7章  効果測定付録A  R/RStudioの導入

Page 95: Tokyor42 ggplot2

Enjoy!