Skip to Main Content

R:ゼロから始める解析生活: 作図

フリーソフトRを用いたデータ解析のはじめ方を紹介。

Rで作図

データ解析において重要な作業の1つは、データを図化して視ることにあります。
R の作図機能は扱いやすく、様々な図を瞬時に作成できます。
ここでは、R での作図の基本を説明します。

目次

はじめに
画面の見方
基礎知識
データ読み込み
データ整理
作図

(1) 作図の流れ
(2) 作図デバイスの出力
(3) 高水準関数で下地
(4) 低水準関数で修飾
(5) 図の保存
解析ノートづくり
おわりに

(1)作図の流れ

R での作図は
① 作図デバイスの出力
② 高水準関数を使った下地作り
③ 低水準関数を使った細かな修飾

という3つの流れで行われます。

 

(2)① 作図デバイスの出力

作図デバイスは R の図を描写する領域のことです。
高水準関数(後述)を実行すると作図デバイスは自動的に作成されるため、
事前に準備することは必須ではありません。
しかし、図のサイズを指定したい場合には * 、
高水準関数を使う前に作図デバイスを表示させておくと便利です。


作図デバイスを出力する関数は使用しているパソコンの OS によって変わります。
Windows の場合は windows()、Mac OS の場合は quartz() 、Linux の場合は X11()
という名前の関数を使います。

本ガイド作成者は Windows ユーザーなので、windows() を使って説明します。
コンソール画面上に

windows(width = 〇, height = △)

と入力すれば、幅が〇インチ、高さが△インチ ** の作図デバイスが作成されます。

例えば、

<コピペ>
windows(width = 5, height = 5)

と入力すれば、縦と横が共に5インチの作図デバイスが表示されます。


* 学術雑誌に論文を投稿する場合、図のサイズを「〇mm×△mm」というように
指定される場合が多々あります。
指定のサイズに合わせて作図デバイスを用意しておくと、
作図後に編集をしなくて済むため、便利です。
(高水準関数によって呼び出されるデフォルトサイズの作図デバイスに図を描写し、
 PowerPoint や Illustrator、GIMP等で後から編集することもできます。
 しかし、
この方法ではデータに修正が生じた際に再度編集することになります。
 一方、R では読み込ませるデータを変えるだけでよいため、
 R のみで作図していた方が最終的に楽となる場合が多いです。)

** 作図デバイスの大きさを mm 単位で指定したい場合、1インチ=25.4 mm なので
 25.4 で割った数を入力します。

(3)② 高水準関数を使った下地作り

R での作図の中心となるのが、高水準関数による作図です。
よく使われる関数として、plot()、hist()、boxplot()、barplot() が挙げられます。


1.plot()

plot() は最もよく使われる作図用の高水準関数で、
2つの変数 (x と y ) の散布図を作成する関数です。

(ただし、x が factor 型のデータである場合、箱ひげ図を作成します。)

plot ( 列名1 ~ 列名2, data = データフレームの名前)

と入力すれば、列名1が y の値、列名2が x の値となる散布図を作成します。

 

例えば、バッタのデータ mydata を使って

<コピペ>
plot ( rightleg ~ leftleg, data = mydata)

と入力すれば、y 軸が rightleg、x 軸が leftleg の以下の散布図が作成されます。


2.hist ()
hist () はヒストグラムを作図するための関数です。

hist (数値ベクトル)

と入力すれば、数値ベクトルのヒストグラムが作成されます。

 

例えば、バッタのデータ(mydata)の体長のヒストグラムを書く場合、

<コピペ>
hist (mydata$bodylength)

と入力すれば、以下のヒストグラムが出力されます。

正規分布しているデータとは言えそうにないですね…。


3.boxplot ()

boxplot () は箱ひげ図を作成するための関数です。

boxplot (列名1 ~ 列名2, data = データフレームの名前)

と入力すると、箱ひげ図を作成できます。
(ただし、列名2は factor 型の変数である必要があります。)

 

例えば、バッタのデータ mydata について性ごとの体長の箱ひげ図を書く場合、

<コピペ>
boxplot (bodylength ~ sei, data = mydata)

と入力することで、以下の箱ひげ図が出力されます。

 


4.barplot()

barplot () は棒グラフを書くための関数です。
xtabs () を使って作成した表のデータをグラフ化できます。

 

例えば、mydata を性ごとに発見場所をまとめた表 mydata 2 を用意して

<コピペ>

mydata2 <- xtabs ( ~ place + sei, data = mydata)
barplot (mydata2, legend = TRUE)

と入力すれば、以下のような棒グラフが出力されます。

 

なお、() 内に書かれている legend というのは、
図を調整するパラメータ(引数)の名前です。
legend = TURE と書くことで、凡例が表示されます。

引数を未記入でも作図は可能で、その場合にはデフォルト値
(barplot の場合、legend = FALSE)が適用されます。

(4)③ 低水準関数を使った細かな修飾

低水準関数は、高水準関数で作成した図を修飾する際に使用します。
点や直線に加え、文字を追加することができます。

 

高水準関数では様々なパラメータを使用できるため、
このパラメータによって図を調整することも可能です。
しかし、細かな調整はパラメータだけでは難しい場合が多々あります。
そのような時に役立つのが低水準関数です。

 

R で作図をする場合、高水準関数を使って1回できれいな図を出力するより、
高水準関数で作成した下地に、低水準関数で少しずつ情報を追加することを
念頭に作図することがおすすめです*。


 

ちなみに、代表的な低水準関数は以下の通りです。
上図のような直線だけでなく、点や文字、矢印なども入力できます。
( JPEG や PNG 形式の画像も貼り付けることができます。)

points() 点を追加
lines(), abline() 直線を追加
text(), mtext() 文字を追加
axis() 軸を追加

 


* 高水準関数に丁度良いものがない場合には、
  高水準関数で「点も軸も書かれていない」図を下地として作成し、
  それに低水準関数を使って点や軸を追加して作図するとよいです。

(5)図の保存

R で作成した図を保存する場合、作図デバイス上で右クリックをして
「メタファイルのコピー」か「クリップボードにコピー」を選択した後、
パワーポイントのスライドに貼っておくことがおすすめです。
スライドに図の説明も書いておくと、他の人に見せるときにも便利です。

 

 

また、マウスを使って図の微調整をしたい場合、
メタファイルでコピーした後、フリーソフトの GIMP に貼り付けると
簡単にできます。