Submit Search
Upload
Tokyo.R #66 初心者セッション3
•
Download as PPTX, PDF
•
2 likes
•
1,348 views
N
Nozomi Miyazaki
Follow
Tokyo.R #66での発表資料です。 PPTに変換した際に見づらくなっている可能性があります。
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 56
Download now
Recommended
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3
Nozomi Miyazaki
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料
Takeo Kunishima
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
Takeo Kunishima
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Tokyo r38
Tokyo r38
Takashi Minoda
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
考司 小杉
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
スライド作成研修20130326
スライド作成研修20130326
Koji Naruta
Recommended
Tokyo.R #67 初心者セッション3
Tokyo.R #67 初心者セッション3
Nozomi Miyazaki
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料
Takeo Kunishima
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
Takeo Kunishima
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Tokyo r38
Tokyo r38
Takashi Minoda
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
考司 小杉
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
スライド作成研修20130326
スライド作成研修20130326
Koji Naruta
RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)
Takashi Minoda
HiroshimaR6_Introduction
HiroshimaR6_Introduction
SAKAUE, Tatsuya
サービス改善はログデータ分析から
サービス改善はログデータ分析から
Kenta Suzuki
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
Mori Kazue
BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法
Haruo Sato
Python勉強会 2015-12-02
Python勉強会 2015-12-02
WoodPecker (Shizuoka Univ)
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
Maehana Tsuyoshi
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
トレノケ雲の会 mod.2「雲の通ひ路」 LT
トレノケ雲の会 mod.2「雲の通ひ路」 LT
mokudai masayuki
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
エピック・ゲームズ・ジャパン Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
Game Tools & Middleware Forum
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
俊仁 小林
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
Hiroshimar4_Rintro
Hiroshimar4_Rintro
SAKAUE, Tatsuya
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
なべ
More Related Content
Similar to Tokyo.R #66 初心者セッション3
RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)
Takashi Minoda
HiroshimaR6_Introduction
HiroshimaR6_Introduction
SAKAUE, Tatsuya
サービス改善はログデータ分析から
サービス改善はログデータ分析から
Kenta Suzuki
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
Shinichi Nakagawa
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
Satoshi Kato
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
Mori Kazue
BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法
Haruo Sato
Python勉強会 2015-12-02
Python勉強会 2015-12-02
WoodPecker (Shizuoka Univ)
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
Maehana Tsuyoshi
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
トレノケ雲の会 mod.2「雲の通ひ路」 LT
トレノケ雲の会 mod.2「雲の通ひ路」 LT
mokudai masayuki
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
エピック・ゲームズ・ジャパン Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
Game Tools & Middleware Forum
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
俊仁 小林
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
Shinichi Nakagawa
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
Hiroshimar4_Rintro
Hiroshimar4_Rintro
SAKAUE, Tatsuya
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
Shinichi Nakagawa
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
なべ
Similar to Tokyo.R #66 初心者セッション3
(20)
RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)
HiroshimaR6_Introduction
HiroshimaR6_Introduction
サービス改善はログデータ分析から
サービス改善はログデータ分析から
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
How to generate PowerPoint slides Non-manually using R
How to generate PowerPoint slides Non-manually using R
Adobe Fireworks CS6 使いこなしテクニック
Adobe Fireworks CS6 使いこなしテクニック
BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法
Python勉強会 2015-12-02
Python勉強会 2015-12-02
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
トレノケ雲の会 mod.2「雲の通ひ路」 LT
トレノケ雲の会 mod.2「雲の通ひ路」 LT
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
大規模JSプロジェクト ロードオブナイツの管理手法紹介 2012-11-06
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
A Tour of やきう&Go - やきう民の私とGoの半年(実質3日間)
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
Hiroshimar4_Rintro
Hiroshimar4_Rintro
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
はじめてのLean Canvas〜最初のアイディアを言語化してみよう #bpstudy
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
普通のJavaエンジニアが、なぜ技術書を出版するに至ったか?
Tokyo.R #66 初心者セッション3
1.
Rでデータを可視化する @koriakane Tokyo.R #66
2.
自己紹介 • 宮﨑(@koriakane) • Tokyo.R運営チーム所属(会計、調整、諸々) •
SIerで分析(+前段階のコンサル)をしてました • 近況:昨日最終出社日でした
3.
この資料のターゲット • R初心者(初心者セッションなので!) • 「そうだ、R、やろう」と思い立ったくらい •
ワテクシのように、分析をして、その結果を 報告書(pptとか)に記載する必要のある方 • 「R上で可視化がしたいんだ!」という方
4.
例えば
5.
Rでの分析結果を • PPTにまとめていきます • グラフ(プロット)も貼り付けていきます
6.
すると
7.
と言われがち
8.
たいていの場合 • 自分が分析結果を確認するためのプロットと、人( 顧客)に見せる用のプロットは、違うもんだ、と思 っておいた方が身のため • だがしかし、いちいち「えくせる」とか「ぱわー ぽいんと」で描き直すのはめんどくさい •
とはいえ、分析結果報告書は「えくせる」とか「 ぱわーぽいんと」で書かざるを得ない(場合が私 は多かった)
9.
Rでそれっぽく可視化して、 貼り付ければええやん!
10.
Rで可視化する、といえば? • plot()←何も考えずに実施しても何かしら出る • hist()←ヒストグラムを出す •
barplot()←棒グラフを出す • matplot()←折れ線グラフを出す • boxplot()←箱ひげ図を出す
11.
Rで可視化する、といえば? • こんな感じ plot(iris$Species) hist(iris$Sepal.Length)
12.
簡単
13.
まぁ、見栄え良くはない
14.
それっぽく可視化するには • ワテクシはよくggplot2を使います • ggplot2:キャンバスを用意して、重ね書きし ていくイメージで、プロットを作成すること ができる →カスタマイズが楽 →見栄え良くそれっぽいプロットが作れる
15.
ggplot2で可視化する • データの基本条件 1. データ型がdata.frame 2.
全ての列で行数が同じ 3. カテゴリ変数がある場合、全ての行に 対して、何かしらのカテゴリに属して いることがわかるデータがある • 上記3つを満たしていれば、何とかなります
16.
こんな感じ • みんなだいすきiris > str(iris) 'data.frame':
150 obs. of 5 variables: $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 … > anyNA(iris) [1] FALSE data.frame カテゴリ変数があり、各行が何かしらのカテゴリに属している NAなし
17.
いざ、実践 (まずはヒストグラム)
18.
これを ggplot(data = iris,
aes(x = Sepal.Length))
19.
こうやって ggplot(data = iris,
aes(x = Sepal.Length)) + geom_histogram()
20.
こうじゃ ggplot(data = iris,
aes(x = Sepal.Length)) + geom_histogram(aes(fill=Species), bins=30, alpha=0.5)
21.
もういっこいっとく (まずは散布図)
22.
これを ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width))
23.
こうやって ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()
24.
こうじゃ ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width)) + geom_point(aes(colour = Species))
25.
それっぽい
26.
何をやっているか ggplot(data = iris,
aes(x = Sepal.Length)) プロットに使う列名を指定する プロットに使うdata.frameを 指定する
27.
何をやっているか ggplot(data = iris,
aes(x = Sepal.Length)) + geom_histogram() プロットの種類を指定する
28.
何をやっているか ggplot(data = iris,
aes(x = Sepal.Length)) + geom_histogram(aes(fill=Species), bins=30, alpha=0.5) ヒストグラムを塗る色の色分けに使う列 名を指定する もろもろ調整する (bins:区切り、alpha:透過度)
29.
同様に散布図も描けます ggplot(data = iris, aes(x
= Sepal.Length, y = Sepal.Width)) + geom_point(aes(colour = Species)) プロットに使う列名を指定する (散布図なので、x軸とy軸が必要) プロットに使うdata.frameを 指定する 点の色分けに使う列名を指定する
30.
ちなみに、こう書いてもOK ggplot(data = iris, aes(x
= Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() こう書くと、+以降のプロット全てに 色分けが適用される
31.
さっきから出てるaes()って、 何
32.
aesとは • data.frameのどの列を、プロットのどの要素に 対応させるのか、をマッピングするもの • 詳しくは、偉大なるユタニさんのスライドを 参考にしましょう •
https://speakerdeck.com/yutannihilation/ggplot2zai-ru-men x x軸 y y軸 colour 点や線の色 fill 塗りの色
33.
どんなプロットの種類があるか ? • ヒストグラム →
geom_histgram() • 散布図 → geom_point() • 棒グラフ → geom_bar() • 折れ線グラフ → geom_line() • 箱ひげ図 → geom_boxplot() • etc.
34.
それっぽいものが作れました • あとは、画像ファイルにして、PPTに貼り付け ていけばOK • RStudioであれば、Export
> Save as Imageで できます
35.
それでもまだ言われたりする
36.
その1
37.
Colour Pickerを使いましょう • colour
pickerアドインを使えば、色を表示しな がら必要な色を選択し、イメージにあったカ ラーセットを作成することが可能です。
38.
そもそもアドインって、何 • アドイン =
RStudioアドインの意です • ボタン一つで実行したり、GUI操作で処理でき たりします • 詳しくは、公式ドキュメントをチェックしま しょう • http://rstudio.github.io/rstudioaddins/
39.
Colour Pickerを使いましょう • RStudioで、colourpickerパッケージをインスト ールすると、「Addins」というボタンから、 Colour
Pickerアドインを使用することができ ます。
40.
選択した色を適用します colors <- c("#00C5CD",
"#D02090", “#828282") ggplot(data = iris, aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) 色分けの指定 ※色分けしているパラメータが、 colourかfillかで変わります
41.
その2
42.
facet_wrap()を使いましょう ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) + facet_wrap(~Species, ncol = 3) ~:分割に使用するカテゴリ変数の指定 ncol:横に幾つ並べるか
43.
facet_wrap()を使いましょう • scale =
“free”で、分割された各プロット毎に、 軸の目盛りを調整できます。 facet_wrap(~Species) facet_wrap(~Species, scale = “free”)
44.
その3
45.
①geom_vline()を使いましょう ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) + geom_vline(xintercept = 7, size = 1.5, linetype = 2, colour = "#32CD32") xintercept:x軸の値 size:線の太さ linetype:線の種類 colour:色の指定
46.
②geom_hline()を使いましょう ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) + geom_hline(yintercept = 3.5, size = 1.5, linetype = 4, colour = “#7D26CD") yintercept:x軸の値 size:線の太さ linetype:線の種類 colour:色の指定
47.
その4
48.
①xlab()、ylab()を使いましょう ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) + theme_grey(base_family = "HiraKakuProN-W3") + xlab("がく片の長さ") + ylab(“がく片の幅") Macでggplotの出力結果に 日本語を使用する場合は必要
49.
②labs()でもできます ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + scale_colour_manual(values = colors) + theme_grey(base_family = "HiraKakuProN-W3") + labs(x = "がく片の長さ", y = "がく片の幅")
50.
ついでに凡例も直しましょう ggplot(data = iris,
aes(x = Sepal.Length, y = Sepal.Width, colour = Species)) + geom_point() + theme_grey(base_family = "HiraKakuProN-W3") + labs(x = "がく片の長さ", y = "がく片の幅") + scale_colour_manual(values = colors, name = "アヤメの品種", labels = c(setosa = "ヒオウギアヤメ", versicolor ="ハナショウブ", virginica = "カキツバタ") )
51.
できた
52.
他にも色々できます
53.
知りたい方は • 公式ドキュメントを参考にしましょう • http://ggplot2.tidyverse.org/ •
チートシートもあります • https://www.rstudio.com/resources/cheatsheets/ • https://www.rstudio.com/wp- content/uploads/2016/10/ggplot2-cheatsheet-2.0-ja.pdf ( 日本語版)
54.
知りたい方は • 偉大なるユタニさんのスライド • https://speakerdeck.com/yutannihilation/ggplot2zai-ru-men •
偉大なるうなどんさんのハンズオン資料 • https://mrunadon.github.io/%E6%A6%82%E8%A6%81%E3%82%92 %E3%81%8A%E3%81%95%E3%81%88%E3%81%A6ggplot2%E3 %82%92%E4%BD%BF%E3%81%84%E3%81%93%E3%81%AA% E3%81%99%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88 %E3%83%AA%E3%82%A2%E3%83%AB%E3%81%A8%E3%82% B3%E3%83%BC%E3%83%89%E9%9B%86/#content • https://www.slideshare.net/MrUnadon/hands-on-ggplot2
55.
分からないことがあれば • r-wakalangで質問しましょう • 素晴らしきお兄さま、お姉さまが答えてくれるかも •
#ggplot2チャンネルもあります • https://qiita.com/uri/items/5583e91bb5301ed5a4ba
56.
Enjoy !!
Download now