Rはオープンソースの統計処理ソフトウェアです.
Ross IhakaさんとRobert Clifford Gentlemanさんによって開発されたR言語の実装にあたります.
このページでは,Rの作図についてメモしています.

目次

  1. 散布図
  2. 散布図行列
    1. scatterplotMatrix()
  3. ヒストグラム
  4. 棒グラフ
  5. 箱髭図
  6. ビーンプロット
  7. Q-Qプロット
  8. 交互作用
  9. 相関プロット
  10. 曲線
  11. 3次元プロット
  12. 等高線
  13. ファイル出力
  14. 参考文献

散布図

ベクトルv1v2の関係性を散布図で確かめるには,plot()を使います.

plot(v1, v2)

描く範囲を指定する場合,xlim = c(下限, 上限), ylim = c(下限, 上限)のオプションを加えます.

図による理解を助けるため,図に書き込むための関数がいくつか用意されています.

points(x座標, y座標, cex = 半径)  # 円の挿入
abline(v = 垂直線を入れたい値) # 直線の挿入
legend(x座標, y座標, legend = "凡例") # 凡例の挿入

散布図行列

変数間の関係性を表した散布図行列はpairsで描くことができます.

pairs(x)

scatterplotMatrix()

carパッケージのscatterplotMatrix()pairs()と同様のformula式で散布図行列を描きます.
対角線上には,各変数のヒストグラムが入り,散布図に近似曲線が追記されます.

ヒストグラム

hist(x)

probability=Tオプションで相対度数による表示.
breaksで階級を割る数を指定できます.

棒グラフ

barplot(x)

箱髭図

箱髭図は棒グラフよりも値の散らばりに関する情報が豊富です.

boxplot(x)

髭の長さを規定するオプションはrange = 1.5がデフォルト.
range > 0のとき,髭はQ3 + range * (Q3-Q1)までと設定されています.(range=0なら髭はデータの最端点.)

formula式(y~x)も使えます.

ビーンプロット

ビーンプロットは箱髭図よりも密度の情報が豊富です.
パッケージをインストールして使います.

install.packages("beanplot")

コマンドは,

beanplot(x)

の形です.

formula式(y~x)も使えます.

Q-Qプロット

Q-Q(Quantile-Quantile)プロットは手元のデータが理論分布に従っているかを確認するためのプロットです.
次は正規分布の散らばりになっているかを描く例です.

qqnorm(y)
qqline(y, distribution=qnorm)

交互作用

interaction.plot(横軸にするベクトル, 線を引き分ける項目のベクトル, 縦軸にするベクトル)

相関プロット

corrplotパッケージを使用する例です.
階層クラスタでの変数の類似度に従って行・列を並び替えた上で相関プロットを行うには,

corrplot(相関行列, order="hclust")

とします.

曲線

curve(関数, from, to)  # 例えば,curve(dnorm(x), from = -3, to = 3)

重ね書きするなら,add=Trueのオプションを入れます.

3次元プロット

persp(x, y, z, theta = 30, phi = 30, expand = 0.8))  # theta, phiは立体の投影角度,expandは拡大率

等高線

contour(データ)

ファイル出力

グラフは書き出すことができます.
以下,png出力する例です.

png("ファイル名", width =, height = 高さ)  # 作図デバイスの指定
plot(引数)
dev.off() # 作図終了

他にpdf関数やjpeg関数,TeXファイルにするpictex関数などもあります.

参考文献

Rの概説書です.

  • 舟尾暢男 (2016)「The R Tips ― データ解析環境Rの基本技・グラフィックス活用集」3版,オーム社.