gpt4 book ai didi

r - 选择等效行 [A-B & B-A]

转载 作者:行者123 更新时间:2023-12-04 06:19:34 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Removing duplicate combinations (irrespective of order)

(1 个回答)


3年前关闭。




我的问题似乎很简单,但几个小时后我无法解决它......

我有一个这样的矩阵:

      [,1] [,2]
[1,] 1 2
[2,] 2 1
[3,] 2 1
[4,] 3 4

我想选择具有相同信息的行,而不考虑列的顺序。
例如 row1 (1;2) 和 row2 (2;1)。然后,我想删除它们,除了一个。

我已经写了这个函数,但它不起作用......
f<-function(x){
i<-1
repeat
{
a<-c()
a<-c(which(x[i,1]==x[,2] & x[i,2]==x[,1]))
if(!is.null(a)) {x<-x[-c(a),]}
if(i>=nrow(x)) {break} else {i<-i+1}
}
x
}
f(data)

有人可以给我一个提示吗?

最佳答案

像这样:

unique(t(apply(mat, 1, sort)))

请注意,输出行已排序,例如“不匹配”行,如 c(5, 1)在原始数据中会显示为 c(1, 5)在输出中。相反,如果您希望输出行与输入行一样,那么您可以执行以下操作:
mat[!duplicated(t(apply(mat, 1, sort))), ]

关于r - 选择等效行 [A-B & B-A],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19647875/

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