为了账号安全,请及时绑定邮箱和手机立即绑定

选择等效的行[AB&BA]

选择等效的行[AB&BA]

潇潇雨雨 2019-10-22 21:11:24
我的问题似乎很简单,但自几个小时以来我无法解决…我有一个这样的矩阵:      [,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)有人可以给我一个提示吗?
查看完整描述

1 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

像这样:


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

请注意,输出行已排序,因此例如c(5, 1)原始数据中的“不匹配”行将出现c(1, 5)在输出中。相反,如果您希望输出行与输入中的行相同,则可以执行以下操作:


mat[!duplicated(t(apply(mat, 1, sort))), ]


查看完整回答
反对 回复 2019-10-22
  • 1 回答
  • 0 关注
  • 467 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信