[R]ベクトルに対してNAをまとめて代入する方法

R でベクトルに対して NAをまとめて代入する方法。
NA の判定方法を調べていた時に (is.na(elm) を利用する)、マニュアルを読んでいて見つけた。

方法
次のようにする

is.na(対象のベクトル) <- ベクトル内でのインデックス

※このシンタックスは R に慣れた人でないと、思い浮かばないのではないかと思う。
マニュアルから

The generic function is.na<- sets elements to NA.

> (xx <- c(0:4))
[1] 0 1 2 3 4
> is.na(xx)<- c(2, 4)
> xx
[1]  0 NA  2 NA  4

次のようにベクトル以外にも適用できる

> (foo <- 'bar')
[1] "bar"
> is.na(foo) <- c(1)
> foo
[1] NA

参考リンク

Advertisements
Tagged with: , , , ,
Posted in R
One comment on “[R]ベクトルに対してNAをまとめて代入する方法
  1. foo says:

    普通は
    > x x[c(2,4)] x
    のようにするところを,変わったことをやるなあととりあげたんですね。でも,あまり効果的ではない。

    c(0:4)) は冗長. 0:4 だけでよい

    > 次のようにベクトル以外にも適用できる

    foo は,長さが 1 のベクトルです(R にスカラーはない)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives

Error: Twitter did not respond. Please wait a few minutes and refresh this page.

%d bloggers like this: