从数据框中的两列标识唯一值对

时间:2015-09-19 14:52:42

标签: r dataframe

我有一个如下数据框:

myDf <- data.frame(Var1 = c("dennis", "marcus", "bat" ,"man", "mennis", "cool"), 
                   Var2 = c("mennis", "cool", "man", "bat", "dennis", "marcus"))

> myDf
    Var1    Var2
1 dennis  mennis
2 marcus    cool
3    bat     man
4    man     bat
5 mennis   dennis
6   cool   marcus

我想要实现的是两个变量中的唯一对,如下所示:

    Var1    Var2
1 dennis  mennis
2 marcus    cool
3    bat     man

1 个答案:

答案 0 :(得分:2)

我们使用sortapply的行MARGIN=1,使用duplicated获取逻辑索引,然后根据原始数据集进行子集化。

 myDf[!duplicated(t(apply(myDf, 1, sort))),]
 #    Var1   Var2
 #1 dennis mennis
 #2 marcus   cool
 #3    bat    man