Rは数値処理も優れていますが、グラフィックスが充実しているのも素晴らしいと思います。
私がRを始めたきっかけも、書きたいグラフがあって、エクセルじゃどうしても描けなかったことでした。
で、散布図ですが、plot関数がベースになっています。
サインカーブを書いてみます。
> x <- seq(20)/2 > x <- data.frame("x"=x,"y"=sin(x)) > jpeg("plot.sin.jpg") > plot(x) > dev.off()
jpeg関数はその名の通り、jpegで出力する関数です。こんなグラフになっているはず。
で、plot はいくつか引数を持ち、type は散布図の形状を変更できる。
> jpeg("plot.type.jpg") > layout(matrix(1:4,ncol=2)) # layout関数は1 ページを分割して複数の図を並べる関 数。 > par(mai=c(1,1,.5,.5)) # par関数はグラフィックパラメータをいろいろ指定できる 。> plot(x,pch=1:3) # pch はplot のsymbol を指定 > plot(x,type="l") # type は表示方法を指定 > plot(x,type="b",col=1:3) # col は色を指定 > dev.off()
引数pchはpoints関数、引数typeはlines関数が代用できる。
> # どちらも、plot(x,type="b")と同じ。 > jpeg("lines.points.jpg", height=960) > par(mfrow=c(2,1),mai=c(1,1,.5,.1)) > plot(x,type="l") > points(x) > > plot(x,type="p") > lines(x) > dev.off()
par関数は非常にたくさんのパラメータを持つので、?parで調べるか、ここがいいと思う。
昔、知人がRはOctave+Gnuplotみたいと言っていました。
使ったことがないので、実感がわかなかったけど、「とても使いやすい」という意味で話していたので、ちょっと嬉しくなった。