矩阵第 i 行中的元素是“<=”矢量的第 i 个元素
Are elements in the i'th row of a matrix "<=" the ith element of a vecotor
我有一个矩阵 m 和一个向量 v1。我想将每一行的元素与我的向量 v1 的相应元素进行比较,看看它们是否 <= 那个数字。我试过了:
apply(m,1,function(i) i <= v1)
但这最终会将每一行的元素与整个 v1 向量进行比较,这不是我想要的。整行应与 v1 的 1 个元素进行比较,一行与 v1 的一个元素进行比较。
set.seed(20)
matrix(sort(sample(50,25)),nrow=5)
v1 <- c(16,11,38,41,29)
请注意,每行中的元素都已排序,因此如果第 i 行中第 4 个元素的“>”比较评估为 TRUE,则该行的所有元素 1:4 将进行类似评估。
第一行到第三行与 v1 比较的预期结果应评估为 TTTFF,而对于第二行 TTFFFF,因为只有 3 和 11 <= 11,第三行结果为 TTTTF。
由于向量的长度与矩阵中的行数相同,因此可以在这里进行简单比较
set.seed(20)
m <- matrix(sort(sample(50,25)),nrow=5)
v1 <- c(16,11,38,41,29)
m <= v1
# [,1] [,2] [,3] [,4] [,5]
# [1,] TRUE TRUE TRUE FALSE FALSE
# [2,] TRUE TRUE FALSE FALSE FALSE
# [3,] TRUE TRUE TRUE TRUE FALSE
# [4,] TRUE TRUE TRUE TRUE FALSE
# [5,] TRUE TRUE TRUE FALSE FALSE
我有一个矩阵 m 和一个向量 v1。我想将每一行的元素与我的向量 v1 的相应元素进行比较,看看它们是否 <= 那个数字。我试过了:
apply(m,1,function(i) i <= v1)
但这最终会将每一行的元素与整个 v1 向量进行比较,这不是我想要的。整行应与 v1 的 1 个元素进行比较,一行与 v1 的一个元素进行比较。
set.seed(20)
matrix(sort(sample(50,25)),nrow=5)
v1 <- c(16,11,38,41,29)
请注意,每行中的元素都已排序,因此如果第 i 行中第 4 个元素的“>”比较评估为 TRUE,则该行的所有元素 1:4 将进行类似评估。
第一行到第三行与 v1 比较的预期结果应评估为 TTTFF,而对于第二行 TTFFFF,因为只有 3 和 11 <= 11,第三行结果为 TTTTF。
由于向量的长度与矩阵中的行数相同,因此可以在这里进行简单比较
set.seed(20)
m <- matrix(sort(sample(50,25)),nrow=5)
v1 <- c(16,11,38,41,29)
m <= v1
# [,1] [,2] [,3] [,4] [,5]
# [1,] TRUE TRUE TRUE FALSE FALSE
# [2,] TRUE TRUE FALSE FALSE FALSE
# [3,] TRUE TRUE TRUE TRUE FALSE
# [4,] TRUE TRUE TRUE TRUE FALSE
# [5,] TRUE TRUE TRUE FALSE FALSE