Rで等高線などを描く

埋もれてもったいないので検索できるところでメモ

3次元グラフ。Excelみたいにマウスでぐるぐる回せないのでいまいち。

> x <- -10:10
> z <- outer(x, x, function(x, y){x *x + y * y})
> persp(x, x, z) 

等高線。

> x <- -100:100
> z <- outer(x, x, function(x, y){x * x + y * y + x * y})
> contour(x, x, z, nlevels=50, drawlabels=FALSE)

CRANからインストール。(e1071: Misc Functions of the Department of Statistics (e1071), TU Wien) CRAN - Package e1071

> install.packages("e1071") # 実行するとどのミラーからダウンロードするか聞かれる
 --- このセッションで使うために、CRANのミラーサイトを選んでください --- 
 URL 'http://cran.md.tsukuba.ac.jp/bin/macosx/leopard/contrib/2.12/e1071_1.5-26.tgz' を試しています 
Content type 'application/x-gzip' length 762841 bytes (744 Kb)
 開かれた URL 
==================================================
downloaded 744 Kb


 ダウンロードされたパッケージは、以下にあります 
 	/var/folders/jF/jFCv7+jlGWuEz+W8iRqbyE+++TI/-Tmp-//RtmpiqNj9A/downloaded_packages 
> library(e1071)
 要求されたパッケージ class をロード中です 
 警告メッセージ: 
 パッケージ 'e1071' はバージョン 2.12.2 の R の下で造られました  
> sigmoid
function (x) 
1/(1 + exp(-x))
<environment: namespace:e1071>
> x <- 0:50
> z <- outer(x, x, function(x, y){sigmoid(x / 10 + 3) + sigmoid(y / 10 + 4)} )
> contour(x, x, z, nlevels=100, drawlabels=FALSE)

ふむ…x <- 0:5のままでなめらかな等高線を書く方法がわからなかったので10倍にしてしまったが、常識的に考えてオプションか何かで指定できるように設計するよな…どうやって調べるんだろう。