Submit Search
Upload
ggplot2によるグラフ化@HijiyamaR#2
•
38 likes
•
18,998 views
N
nocchi_airport
Follow
ggplot2によるグラフ化@HijiyamaR#2
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
ggplot2用例集 入門編
ggplot2用例集 入門編
nocchi_airport
ggplot2できれいなグラフ
ggplot2できれいなグラフ
Daisuke Ichikawa
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
yutannihilation
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
Rで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
jundoll
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
Recommended
ggplot2用例集 入門編
ggplot2用例集 入門編
nocchi_airport
ggplot2できれいなグラフ
ggplot2できれいなグラフ
Daisuke Ichikawa
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
yutannihilation
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
StanとRでベイズ統計モデリングに関する読書会(Osaka.stan) 第四章
nocchi_airport
Rで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
jundoll
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
質的変数の相関・因子分析
質的変数の相関・因子分析
Mitsuo Shimohata
はじめての「R」
はじめての「R」
Masahiro Hayashi
Graph Neural Networks
Graph Neural Networks
tm1966
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
Rの高速化
Rの高速化
弘毅 露崎
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
Tokyowebmining ctr-predict
Tokyowebmining ctr-predict
正志 坪坂
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Imputation of Missing Values using Random Forest
Imputation of Missing Values using Random Forest
Satoshi Kato
R Markdownによるドキュメント生成と バージョン管理入門
R Markdownによるドキュメント生成と バージョン管理入門
nocchi_airport
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
これからの仮説検証・モデル評価
これからの仮説検証・モデル評価
daiki hojo
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
Fumihiko Takahashi
More Related Content
What's hot
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Koichi Hamada
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
shima o
質的変数の相関・因子分析
質的変数の相関・因子分析
Mitsuo Shimohata
はじめての「R」
はじめての「R」
Masahiro Hayashi
Graph Neural Networks
Graph Neural Networks
tm1966
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
Rの高速化
Rの高速化
弘毅 露崎
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Masashi Komori
Tokyowebmining ctr-predict
Tokyowebmining ctr-predict
正志 坪坂
不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
Imputation of Missing Values using Random Forest
Imputation of Missing Values using Random Forest
Satoshi Kato
R Markdownによるドキュメント生成と バージョン管理入門
R Markdownによるドキュメント生成と バージョン管理入門
nocchi_airport
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
これからの仮説検証・モデル評価
これからの仮説検証・モデル評価
daiki hojo
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
Fumihiko Takahashi
What's hot
(20)
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
階層ベイズによるワンToワンマーケティング入門
階層ベイズによるワンToワンマーケティング入門
質的変数の相関・因子分析
質的変数の相関・因子分析
はじめての「R」
はじめての「R」
Graph Neural Networks
Graph Neural Networks
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Rの高速化
Rの高速化
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
【読書会資料】『StanとRでベイズ統計モデリング』Chapter12:時間や空間を扱うモデル
Tokyowebmining ctr-predict
Tokyowebmining ctr-predict
不均衡データのクラス分類
不均衡データのクラス分類
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
階層ベイズとWAIC
階層ベイズとWAIC
Imputation of Missing Values using Random Forest
Imputation of Missing Values using Random Forest
R Markdownによるドキュメント生成と バージョン管理入門
R Markdownによるドキュメント生成と バージョン管理入門
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
これからの仮説検証・モデル評価
これからの仮説検証・モデル評価
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
ggplot2によるグラフ化@HijiyamaR#2
1.
#HijiyamaR 2015/5/23 1 紀ノ定保礼 ggplot2によるグラフ化
2.
紀ノ定 保礼 大阪大学大学院人間科学研究科 研究領域:認知心理学,交通心理学,人間工学 普段のRの用途 データ処理(2008年~) 分析(2011年~) 描画(2015年~) 自己紹介 2
3.
可視化ツールとしてのggplot2の紹介 ①すでに要約されたデータをグラフ化する 例:A群は平均3点,B群は平均5点(t(19)=3.25,p<.05) 慣習的に行われる,文字 → 図
の変換を補助する役割 ②探索的に,変数(間の関係)を理解する ごちゃごちゃしたデータ(Row data)を用いる ことも多い 変数を入れ替えやすいこと 複数の変数を同時に表示しやすいこと ③データを視覚的に要約する 本日の発表の目的 3 が重要
4.
可視化ツールとしてのggplot2の紹介 ①すでに要約されたデータをグラフ化する 例:A群は平均3点,B群は平均5点(t(19)=3.25,p<.05) 慣習的に行われる,文字 → 図
の変換を補助する役割 ②探索的に,変数(間の関係)を理解する ごちゃごちゃしたデータ(Row data)を用いる ことも多い 変数を入れ替えやすいこと 複数の変数を同時に表示しやすいこと ③データを視覚的に要約する 本日の発表の目的 4 が重要
5.
5 サンプルデータ:diamonds 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm) ggplot2パッケージ内に入っています(53940行×10列)
6.
いったん500行に減らしておきましょう 6 データが多いもので… library(ggplot2) diamonds2 <- diamonds[sample(nrow(diamonds),500),] ※注)ggplot2の前にdplyr及びplyrパッケージをロードする 場合は、必ずplyr
→ dplyrの順に
7.
従来のbaseパッケージで描画する場合 7 重さと価格の関係をみる plot(diamonds2$carat, diamonds2$price)
8.
8 せめて,質(5段階)別に関係を理解したい 出来ますが… 自分で各水準を定義する 必要あり plot(diamonds2$carat,diamonds2$price, pch=21,bg=c("yellow","red","green","blue","pink")[diamonds$cut])
9.
要請①:質ではなく,透明度で区別したい 9 変数の交換 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm)
10.
10 出来ますが… 水準数が増えた分, 塗り分ける色を 改めて定義する必要 plot(diamonds2$carat,diamonds2$price, pch=21,bg=c("yellow","red","green","blue","pink", "brown","lightblue","black")[diamonds$clarity])
11.
要請②:質と色と透明度で区別したい 11 変数の追加 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm)
12.
基準(要因)の数 水準(条件)の数 ・・・が増えるにしたがい, 「区別の仕方」も定義する必要 例:質(5段階)と色(7段階)と透明度(8段階)で 区 別したい 5 +
7 + 8 = 20通りの指定 12 想像がつくと思いますが…
13.
13 変数が増えるほど大変… 記号 サイズ 色 plot(diamonds2$carat,diamonds2$price, pch=c(3,8,15,16,17)[diamonds$cut], cex=c(1,1.25,1.5,1.75,2,2.25,2.5)[diamonds$color], col=c("royalblue","cyan","purple","green3","orange", "brown","magenta","gray")[diamonds$clarity])
14.
14 そこでggplot2 packageの出番
15.
15 重さと価格の関係をみる どのような形式で描画するか (pointなら点) ggplot(diamonds2,aes(y=price,x=carat))+ geom_point() データフレーム aes()内で, 各軸の変数や データの弁別基準を 指定
16.
16 質(5段階)別に,重さと価格の関係をみる 配色もさることながら, コードがすっきり! ggplot(diamonds2,aes(y=price,x=carat,color=cut))+ geom_point() 弁別基準はaes()内に
17.
要請①:質ではなく,透明度で区別したい 17 変数の交換 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm)
18.
18 確かに,塗分け基準が 変わっている ggplot(diamonds2,aes(y=price,x=carat,color=clarity))+ geom_point()
19.
要請②:質と色と透明度で区別したい 19 変数の追加 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm)
20.
20 方法その1 確かに,弁別基準が 増えている ggplot(diamonds2, aes(y=price,x=carat, color=color, size=clarity, shape=cut))+ geom_point()
21.
21 小さくて分かりにくいと思うので,拡大すると…
22.
22 小さくて 分かりにくいと思うので, 一部を拡大すると…
23.
レイヤーを重ねて図を調整 例(もちろん他にも指定可能) 23 描画の仕組み ggplot(iris,aes(y=Petal.Length,x=Sepal.Length,color=Species))+ geom_point()+ theme_bw()+ ylim(0,10)+ theme(axis.text.x=element_text(size=15), axis.text.y=element_text(size=15)) 基本レイヤー(データ指定) プロットの仕方の指定 背景の指定 軸目盛の指定 軸の書式の指定
24.
24 方法その2(FACETを用いる) ggplot(diamonds2,aes(y=price,x=carat,color=color))+ geom_point()+ facet_wrap(cut~clarity)
25.
25 小さくて見えないと思うので拡大
26.
可視化ツールとしてのggplot2の紹介 ①すでに要約されたデータをグラフ化する 例:A群は平均3点,B群は平均5点(t(19)=3.25,p<.05) 慣習的に行われる,文字 → 図
の変換を補助する役割 ②探索的に,変数(間の関係)を理解する ごちゃごちゃしたデータ(Row data)を用いる ことも多い 変数を入れ替えやすいこと 複数の変数を同時に表示しやすいこと ③データを視覚的に要約する 本日の発表の目的 26 が重要
27.
27 たとえデータが53940行もあったって 重さ 質 (5段階) 色 (7段階) 透明度 (8段階) 価格 長さ(mm) 幅(mm) 奥行(mm)
28.
例えば,質(5段階)別に価格の平均をみたい 28 一気に視覚的に要約 ggplot(diamonds,aes(y=price, x=cut))+ stat_summary(fun.y=mean, geom="bar")
29.
29 例えば,質と透明度別に価格の平均をみたい ggplot(diamonds,aes(y=price,x=cut,fill=clarity))+ stat_summary(fun.y=mean,geom="bar") ggplot(diamonds,aes(y=price,x=cut,fill=clarity))+ stat_summary(fun.y=mean,geom="bar",position= "dodge")
30.
あっという間 30 色セットを変えたくなったら
31.
31 ggplot(diamonds,aes(y=price,x=clarity,group=cut,color=cut))+ stat_summary(fun.y=mean,geom="point") レイヤーを重ね描き出来るということは… ggplot(diamonds,aes(y=price,x=clarity,group=cut,color=cut))+ stat_summary(fun.y=mean,geom="line")
32.
32 レイヤーの重ね描きの成せるわざ ggplot(diamonds,aes(y=price,x=clarity,group=cut,color=cut))+ stat_summary(fun.y=mean,geom="point")+ stat_summary(fun.y=mean,geom="line")
33.
33 エラーバーだってあっという間 53940行×10列のデータも, 数行でここまで仕上げることが出来る
34.
箱ひげ図 平均値
各計測値 34 代表値だけでなく,各計測値も重畳可能 ggplot(data=iris,aes(y=Sepal.Length,x=Species))+ geom_boxplot()+ stat_summary(fun.y=mean,geom="point",color="red")+ geom_jitter(position=position_jitter()) + +
35.
35
Download now