統計検定に関する事柄を忘れないようにまとめます.

プロットエリアへの矩形の描画

以下のようなコマンドで適当な散布図を描く.

$ plot(0:9,pch=20,xlab="x value",ylab="y value",las=1)
ida_r_basic_drawing_01.svg

このプロットエリアに対して,頂点 (2,2),(4,2),(4,4),(2,4) からなる矩形を描くには以下のように打つ.

$ polygon(c(2,4,4,2),c(2,2,4,4))
ida_r_basic_drawing_02.svg

プロットエリアへ点を打つ

R において,プロットエリアを点を打つには points() コマンドを使用する.以下のように打つと,座標 (1,3) に点が打たれる.

points(c(1),c(3))

以下のように書くと,座標 (1,3),(3,4) および (7,7) に点が打たれる.

points(c(1,3,7),c(3,4,7))

楕円の描画

R において,確率楕円を描くには以下のようにする.ライブラリー ellipse を最初に読み込む.

$ library(ellipse)

サンプルデータ cars を用いてプロットするには以下のようにする.以下のコマンドによって95%確率楕円が描ける.

$ plot(0, type="n", xlim=c(-50,100), ylim=c(-50,150), xlab="", ylab="")
$ polygon(ellipse(cov(cars), centre=colMeans(cars), level=0.95), lty=1, lwd=1, border="#ff0000")
ida_r_basic_drawing_03.svg

座標軸の原点での交差

R にて描画を行う多くの場合において得られる図は,各軸の最小値が交差していない原点不在のものである.そのようなグラフを各軸の最小値で交差した図に変換するには,すなわち各軸が原点で交差した図を作成するには,コマンド par(xaxs="i", yaxs="i") を利用する.以下のように打つ.

$ par(xaxs="i", yaxs="i")
$ hist(iris$Petal.Width, breaks=seq(0,2.5,0.1), main="", xlab="range", ylim=c(0,30), col="#2b4b65")

結果は以下のようになる.

ida_r_basic_drawing_04.svg

PNGのアンチエイリアス処理

Windows 版 R にてアンチエイリアス処理した画像を作成したいときはパッケージ cairoDevice を利用する.以下のコマンドにてパッケージをインストールして,そのパッケージを読み込む.

$ install.packages("cairoDevice", repos="http://cran.ism.ac.jp/")
$ library(cairoDevice)

以下のコマンドを打つことでアンチエイリアス処理された png 画像を得られる.上のパッケージを利用した作図デバイスはコマンド Cairo_png にて呼び出す.以下では,画像の保存名は foo.png で,そこに正規分布 N(0, 3) をプロットする.作図デバイスの呼び出し終了はコマンド dev.off() にて行う.

$ Cairo_png("foo.png", width=5, height=3)
$ x=seq(-6, 6, 0.1)
$ plot(x, xaxs="i", yaxs="i", xlab="", ylab="", xlim=c(-6, 6), ylim=c(0, 0.25), bty="l", las=1)
$ polygon(c(-6, x, 6), c(0, dnorm(x,sd=sqrt(3)), 0), col="#ff8c00", border=NA)
$ lines(x, dnorm(x,sd=sqrt(3)), lty=1, lwd=2, col="#2b4b65")
$ dev.off()

結果 foo.png は以下のようになる.綺麗な画像が作成できる.

ida_r_basic_drawing_05.png
Hatena Google+