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

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

第63回 ggplot2の備忘録その1

第63回はggplot2の基本的概念について書いていきます。ggplot2は図を作成するための超強力なパッケージです。使い方さえ覚えてしまえば、簡単かつ効率良く作図できるようになります。

□ggplot2の用語と概念

ここでは、ggplot2におけるいくつかの用語の説明をします。

データ

図を作成する元になるデータセットのこと。

幾何オブジェクト

幾何オブジェクトを表現するもの、棒、折れ線、点など。

エステテック

幾何オブジェクトの線の色、点の形、xとyの位置など。

データの値からエステテックにマッピングされます。

スケール

データ空間→エステテック空間へのマッピングを制御すること。

ガイド

軸上のラベルや目盛りのこと。

ggplot2はレイヤー構造を持ちます。つまり、層をどんどん積み重ねていくことで作図します。Photoshopなどを使ったことがある人は、なんとなくイメージできると思います。そうでない方は、小学生の授業でやったと思いますが、透明なフィルムを重ねて1つの絵を作るというイメージをして、それを思い出してもらえばよろしいかと思います。

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

ゆえに、一枚のフィルムで図の情報をすべて書き込むのではなく、情報を細分化してフィルムごとにまとめて、それを重ねることで作図するということになります。

 

□実例

> dat <- data.frame(x=c(1,3,5,7),y=c(2,4,6,8),group=c("a","a","b","b")) 

今回の目標は以下のような図を作成することで、何がどんな役割をはたしているのかうを見ていきましょう。

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

 

> ggplot(dat,aes(x=x,y=y))+geom_point() 

#ggplot()にデータフレームとエステティックマッピングを与え、幾何オブジェクトでデータの表現を決定する 

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

> ggplot(dat,aes(x=x,y=y))+geom_point(aes(colour=group))

#geom_point()という幾何オブジェクトへのエステティックマッピングを追加する。点に色を追加する。

 

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

> ggplot(dat,aes(x=x,y=y))+geom_point(aes(colour=group))

+scale_x_continuous(limits=c(0,10))

+scale_colour_manual(values=c("springgreen4","orange"))

#データ空間からエステティック空間へのマッピングをコントロール。

xの範囲を広げ、点の色を変更する

 

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

エステティックとかマッピングとかコントロール・・・横文字の連続ですが、細かくみるとこんな感じです。少し複雑ですが。

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

以上、ggplot2の基本的な概念の説明でした。