次のベクトルがあるとします。
x <- c(8, 6, 9, 9, 7, 3, 2, 5, 5, 1, 6, 8, 5, 2, 9, 3, 5, 10, 8, 2)
どの要素が 8 または 9 であるかを調べるにはどうすればよいですか?
これは 1 つの方法です。最初に、x が 8 または 9 であるインデックスを取得します。次に、これらのインデックスで x が実際に 8 および 9 であることを確認できます。
> inds <- which(x %in% c(8,9))
> inds
[1] 1 3 4 12 15 19
> x[inds]
[1] 8 9 9 8 9 8
|
短い条件で演算子を試すことができます
which(x == 8 | x == 9)
grepl
多分便利な機能。grepl
R2.9.0以降のバージョンで表示されることに注意してください。便利なのgrepl
は、と同じ長さの論理ベクトルを返すことx
です。
grepl(8, x)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[13] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
grepl(9, x)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
[13] FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE
あなたの答えに到達するために、あなたは次のことをすることができます
grepl(8,x) | grepl(9,x)