我有一个矩阵,想看看条目是否大于某个值,例如:
matrix[matrix[,1] > value,1]
现在这将返回所有大于value
我想做的只是 getTRUE/FALSE
以便能够在 if 条件下使用它。
所以我想检查矩阵中的任何值是否TRUE
适用于上述条件。
我有一个矩阵,想看看条目是否大于某个值,例如:
matrix[matrix[,1] > value,1]
现在这将返回所有大于value
我想做的只是 getTRUE/FALSE
以便能够在 if 条件下使用它。
所以我想检查矩阵中的任何值是否TRUE
适用于上述条件。
set.seed(1234)
a <- matrix(round(runif(25,0,4)), nrow=5)
a
b <- (a>2)
b
class(b)
一个是:
[,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
类(b)返回:
[1] "matrix"
如果你想要一个 1 / 0 而不是 TRUE / FALSE 的数字矩阵,你可以使用:
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