gpt4 book ai didi

R - 识别并删除在另一个矩阵中具有重复项的矩阵行

转载 作者:行者123 更新时间:2023-12-04 11:26:09 26 4
gpt4 key购买 nike

假设我有两个矩阵 c1c2。我想删除 c1 中所有在 c2 中有重复的行。

我可以执行 2 个嵌入式 for 循环来扫描 c1c2,但这对于大型矩阵来说太慢了。我需要一个矢量化函数。

函数 row.match 会很完美,但它只返回副本的第一个实例。我需要找到并删除所有这些。

示例数据:

c1 <- matrix( c(1, 0, 2, 0, 2, 5), byrow = TRUE, nrow = 3) 
c2 <- matrix(c(1, 1, 2, 5, 3, 2), byrow = TRUE, nrow = 3)
c1
#> [,1] [,2]
#> [1,] 1 0
#> [2,] 2 0
#> [3,] 2 5

c2
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 5
#> [3,] 3 2

最佳答案

如果我没理解错的话,我们可以这样做:

#present only in c1    
key <- function(x){
paste0(x[,1], x[,2])
}
c1[!key(c1) %in% key(c2),]

关于R - 识别并删除在另一个矩阵中具有重复项的矩阵行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57599187/

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