マトリックスがあり、エントリが特定の値よりも大きいかどうかを確認したいと思います。例:
matrix[matrix[,1] > value,1]
これで、より大きいすべての値が返されますvalue
これの代わりに私がやりたいのはTRUE/FALSE
、if条件で使用できるようにするためだけです。
TRUE
そこで、マトリックス内の値が上記の条件に当てはまるかどうかを確認したいと思います。
マトリックスがあり、エントリが特定の値よりも大きいかどうかを確認したいと思います。例:
matrix[matrix[,1] > value,1]
これで、より大きいすべての値が返されますvalue
これの代わりに私がやりたいのはTRUE/FALSE
、if条件で使用できるようにするためだけです。
TRUE
そこで、マトリックス内の値が上記の条件に当てはまるかどうかを確認したいと思います。
set.seed(1234)
a <- matrix(round(runif(25,0,4)), nrow=5)
a
b <- (a>2)
b
class(b)
aは:
[,1] [,2] [,3] [,4] [,5]
[1,] 0 3 3 3 1
[2,] 2 0 2 1 1
[3,] 2 1 1 1 1
[4,] 2 3 4 1 0
[5,] 3 2 1 1 1
bは:
[,1] [,2] [,3] [,4] [,5]
[1,] FALSE TRUE TRUE TRUE FALSE
[2,] FALSE FALSE FALSE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE FALSE
[4,] FALSE TRUE TRUE FALSE FALSE
[5,] TRUE FALSE FALSE FALSE FALSE
class(b)は以下を返します:
[1] "matrix"
TRUE / FALSEの代わりに1/0の数値行列が必要な場合は、次を使用できます。
b[b==TRUE] = 1
b
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 1 1 0
[2,] 0 0 0 0 0
[3,] 0 0 0 0 0
[4,] 0 1 1 0 0
[5,] 1 0 0 0 0
このコードは最初の列のみをチェックします:
b2 <- a[,1] > 2
b2
[1] FALSE FALSE FALSE FALSE TRUE