2016-08-13 12 views
0

私はサブセット上の例では、次のを見て、私はまだ私は数値のベクトルの作成を理解R.R - サブセット化混乱

x <- c(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9) 
x[c(TRUE, TRUE, FALSE, FALSE)] 
[1] 1.1 2.2 5.5 6.6 9.9 

にかなり新たなんだと私はそれを理解していません。しかし、私は結果がブール値を使用してサブセット化によって生成された方法または理由を理解していません。

+1

リサイクルの良い説明[ここ](http://stackoverflow.com/questions/13461829/r-how-to-list-every-other-element/13462110) –

答えて

2

これは明らかにリサイクルの問題です。論理vectorは、ベクトルの最後までリサイクルされ、TRUEが見つかった場合はいつでも値を返します。これを説明するためにrep

i1 <- rep(c(TRUE, TRUE, FALSE, FALSE), length.out=9) 
i1 
#[1] TRUE TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE 

と論理ベクトルを作成し、ベクトルの終わりに到達するまで、リサイクリングはまた、同じこと、すなわち論理要素のベクトルを繰り返すんvector

x[i1] 
#[1] 1.1 2.2 5.5 6.6 9.9 

のサブセット。