gpt4 book ai didi

r - 矩阵 %in% 矩阵

转载 作者:行者123 更新时间:2023-12-03 21:09:06 28 4
gpt4 key购买 nike

假设我有两个矩阵,每个矩阵有两列和不同的行数。我想检查并查看一个矩阵的哪些对在另一个矩阵中。如果这些是一维的,我通常只会做 a %in% x得到我的结果。 match似乎只适用于向量。

> a
[,1] [,2]
[1,] 1 2
[2,] 4 9
[3,] 1 6
[4,] 7 7
> x
[,1] [,2]
[1,] 1 6
[2,] 2 7
[3,] 3 8
[4,] 4 9
[5,] 5 10

我希望结果是 c(FALSE,TRUE,TRUE,FALSE) .

最佳答案

重新创建您的数据:

a <- matrix(c(1, 2, 4, 9, 1, 6, 7, 7), ncol=2, byrow=TRUE)
x <- matrix(c(1, 6, 2, 7, 3, 8, 4, 9, 5, 10), ncol=2, byrow=TRUE)

定义一个函数 %inm%这是一个类似于 %in% 的矩阵:
`%inm%` <- function(x, matrix){
test <- apply(matrix, 1, `==`, x)
any(apply(test, 2, all))
}

将此应用于您的数据:
apply(a, 1, `%inm%`, x)
[1] FALSE TRUE TRUE FALSE

比较单行:
a[1, ] %inm% x
[1] FALSE

a[2, ] %inm% x
[1] TRUE

关于r - 矩阵 %in% 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943695/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com