読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第66回 ggplotの備忘録その3

グラフィックス

今回はggplot2で基本的なグラフを作成していくことが目的となります。基本的なグラフは、散布図、折れ線グラフ、棒グラフ、ヒストグラム、ボックスプロットなどです。ggplotの基本的な考え方については、この記事を参照ください。

sugisugirrr.hatenablog.com

 

□散布図

散布図を作成する場合はRのbase graphicであるplot関数にxとyのベクトルを渡すことで作成しますがggplotでは以下のように記述します。Aes内でx軸とy軸の変数を設定します。そして、どのように値を表現するかを指定します。今回は散布図なので、geom_point( )を選択します。

ggplot(demo, aes(x = x1, y = y))
+ geom_point(col = "springgreen4")

f:id:teruaki-sugiura:20160102161557p:plain

□折れ線グラフ

折れ線グラフを作成する場合はRのbase graphicであるplot関数にxとyのベクトルを渡し、オプションでtype=”1”を指定することで作成します。ggplotでは、先ほどと同様に、x軸とy軸の変数を指定した後に、geom_line()を追加し、値を線で結びます。加えて、geom_point( )を追記すれば、値に点をプロットできます。

ggplot(demo, aes(x = no, y = y))
+ geom_line(col = "springgreen4")
+ geom_point(col = "springgreen4") 

f:id:teruaki-sugiura:20160102161650p:plain

□棒グラフ

棒グラフを作成する場合はRのbase graphicであるbarplot関数にベクトルを渡して作成します。ggplotでは、変数を指定した後に、geom_bar()を追加します。

ggplot(demo, aes(x = class))
+ geom_bar(fill = "springgreen4", col = "springgreen4")

f:id:teruaki-sugiura:20160102161710p:plain

ヒストグラム

ヒストグラムを作成する場合はRのbase graphicであるhist関数にベクトルを渡して作成します。ggplotでは、変数を指定した後に、geom_histogram()を追加します。binwidthを選択すれば棒の幅を調整できます。

ggplot(demo, aes(x = x1))
+ geom_histogram(binwidth = 0.5, fill = "springgreen4", col = "springgreen4")

f:id:teruaki-sugiura:20160102161738p:plain

□ボックスプロット

ボックスプロットを作成する場合はRのbase graphicであるboxplot関数にベクトルを渡して作成します。ggplotでは、変数を指定した後に、geom_histogram()を追加します。binwidthを選択すれば棒の幅を調整できます。

ggplot(demo, aes(x = class, y = y))
+ geom_boxplot(fill = "springgreen4")

f:id:teruaki-sugiura:20160102161821p:plain

ggplot(demo, aes(x = interaction(class, level), y = y))
+geom_boxplot(col = "springgreen4")

 x=interactionを指定することで、組み合わせごとにボックスプロットが表示できます。つまり、今回ののデータでは、classは“a”,“b”の2パターンで、levelは”10”,”20”,”30”の3パターンなので、2×3で、以下のような6パターンを図化できます。

・class=a × level=10 ・class=a × level=20 ・class=a × level=30

・class=b × level=10 ・class=b × level=20 ・class=b × level=30

f:id:teruaki-sugiura:20160102161830p:plain

確率密度関数

確率密度関数正規分布)を作成する場合はRのbase graphicであるplot関数やcurve関数にベクトルを渡して作成しますが、ggplotでは、変数を指定した後に、data.frame(x = c(-5, 5)), aes(x=x)というようにxの範囲を指定した後で、stat_function(fun = dnorm)で分布の形を設定します。

x<-seq(-5, 5, 0.1)
y<-dnorm(x)
plot(x, y, type="l")
curve(dnorm(x, 0, 1), -5, 5, col = "springgreen4") 

f:id:teruaki-sugiura:20160102161947p:plain

ggplot(data.frame(x = c(-5, 5)), aes(x = x))
+ stat_function(fun = dnorm, col = "springgreen4", fill = "springgreen4") 

f:id:teruaki-sugiura:20160102162015p:plain

以上で今回はおしまい。次回からは、Index. ggplot2 0.9.3.1をもとに、各項目を詳しく見ていきます。

広告を非表示にする