【发布时间】:2019-01-22 10:28:41
【问题描述】:
如何在矩阵上使用which() 函数,使其返回条件为TRUE 的矩阵的坐标,条件使用%in% 运算符?
通常,我只使用which() 函数的arr.ind 参数。
mat <- matrix(nrow = 10, ncol = 10, data = 0)
mat[5,3] <- 7
which(mat==7, arr.ind = T)
这将返回 mat 中验证条件的每个元素的行和列。
但是,如果条件不是使用== 而是%in%,这似乎不起作用。
mat[4,7] <- 3
which(mat%in%c(3,7),arr.ind = T)
同样使用is.element:
which(is.element(mat,c(3,7)),T)
如何获取矩阵中验证%in% 条件的行和列?
【问题讨论】:
-
真的
sapply(c(3, 7), function(x) which(mat == x, arr.ind = TRUE))
标签: r logical-operators