2017-05-03 50 views
0

一個例子:R如何選擇兩列中的值相同的行?

> df1 
    c1 c2 c3 
1 2 3 8 
2 1 6 2 
3 2 9 8 

我希望得到一個子集,其中C1和C3值是相同的,所以在這個例子中,我希望得到的結果是:

c1 c2 c3 
1 2 3 8 
3 2 9 8 

是否有任何直接的在R中這樣做的方法?謝謝。

回答

1

我們可以在與感興趣的列數據集的子集適用duplicated發現都是重複的行並用它來子集行

df1[duplicated(df1[c('c1','c3')])|duplicated(df1[c('c1','c3')], fromLast=TRUE),] 
# c1 c2 c3 
#1 2 3 8 
#3 2 9 8 
+0

謝謝,我已經試過這和它的作品。我不太瞭解'|'在這種情況下工作,但我也試圖添加另一列c4,這句話似乎也適用。 –

+0

@ j.du它基於僅爲每列選擇重複元素。你也可以勾選[here](http://stackoverflow.com/help/someone-answers) – akrun

相關問題