如何将每行矩阵与R中的向量元素进行比较

时间:2017-08-03 17:20:42

标签: r matrix vector

我想比较给定矩阵的每一行与给定向量的所有元素:

matrix <- matrix(c(c("var1","var2"),c("var4","var5"),c("var6","var7")),nrow = 3, ncol = 2)
vector <- c("var1", "var2", "var3", "var4", "var5", "var6")

期望的结果将是:TRUE,因为矩阵的第一行元素包含在给定的向量中。

如果矩阵定义为:

matrix <- matrix(c(c("var6","var7"),c("var1","var8"),c("var2","var9")),nrow = 3, ncol = 2)

在这种情况下,期望的结果是FALSE,因为矩阵的所有行的元素都不包含在给定的向量中。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:1)

听起来你只需要apply

apply(matrix, 1, function(x) all(x %in% vector))

查看矩阵的所有行,以查看给定行中的所有值是否都在向量中。