2011年7月7日木曜日

Rのmissing関数に関する調査

あるパッケージの関数を眺めていたらmissingという関数が出てきて、気になったので調べてみた。missing関数の呼び方は極めて単純である。

missing(x)

missingは関数の引数として欠けているか否かを評価する。missing関数は関数の中で評価される前に利用しないと意味がない。つまり、missing(x)とする前に、引数xに一切手を加えてはならないのである。また、ネストするとmissing関数は使えなくなる。同じ階層のみで利用可能である(将来的には変更されるらしいが)。

plot関数はx,y座標のyを省くと、勝手にxがyになり1,2,3,...をx座標に設定するが(plot(c(1,3,5))を試してみよ)、それはmissing関数を用いて実装することができる。Exampleの関数myplotがその例である。

myplot <- function(x,y) {
 if(missing(y)) { # yがなかったら
  y <- x # xをyに置き換えて
  x <- 1:length(y) # xを再設定 
 }
 plot(x,y)
}

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計