2016-08-31 5 views
1

私は間違いなく前にこの問題を解決しましたが、コードを失ってしまいました... ここに私が持っているものの単純化があります。私は重複を削除したいR他の列の重複を削除する

a1 <- c(1,2,4,3,5) 
a2 <- c("a","b","b","c","f") 
a3 <- c(3,4,"b",1,9) 
a4 <- c("c","b",2,"a","d") 
a <- cbind(a1,a2,a3,a4) 

a1a2はセットだけでなく、a3a4です。したがって、3行目と4行目を削除します。このデータは、ゲノム間のリンクを示す爆発から来ており、効率的な解決策が得られるように、3万4000行の長さです。

ありがとうございました!私は別の言語でこれを行うことも可能です。

答えて

0

私たちはsortで行を 'a'にすることができ、論理インデックスを取得しないと(!duplicated要素を使用して行をフィルタリングすることができます。

i1 <- !duplicated(t(apply(a, 1, sort))) 
a1 <- a[i1,] 

データセットに残った行のインデックスがある

which(i1) 
#[1] 1 2 5