【问题标题】:How to compare each line of matrix with elements of vector in R如何将矩阵的每一行与R中的向量元素进行比较
【发布时间】:2017-08-03 17:20:42
【问题描述】:

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

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,因为矩阵的所有行的元素都不包含在给定的向量中。有什么建议么?谢谢!

【问题讨论】:

    标签: r matrix vector


    【解决方案1】:

    听起来你只需要在这里apply

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

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

    【讨论】:

    • 其实这个看列! MARGIN 设置为 2
    • @RuiBarradas 感谢您的提醒。我已经确定了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2021-03-24
    • 2017-08-05
    • 2017-01-28
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多