2016-05-20 11 views
0

このような関数はどのパッケージにも存在しますか?R:列に重複した要素を含むすべての行を表示

isdup <- function (x) duplicated (x) | duplicated (x, fromLast = TRUE) 

私の意図は、特定の列に重複値を持つすべて行を表示するためにdplyrでそれを使用することです。私は複製された要素の最初の出現も表示する必要があります。インスタンス

dat <- as.data.frame (list (l = c ("A", "A", "B", "C"), n = 1:4)) 
dat 

> dat 
    l n 
1 A 1 
2 A 2 
3 B 3 
4 C 4 

ため、このdata.frameで

私は、列lがすなわち重複している行を表示したいと思います。やって値を持つもの:

library (dplyr) 
dat %>% filter (isdup (l)) 

戻り

l n 
1 A 1 
2 A 2 
+2

あなたが定義したものだけを使用するのはなぜですか? –

+2

別の方法と効率分析を行うには[this post](http://stackoverflow.com/questions/37148567/fastest-way-to-remove-all-duplicates-in-r/37149066#37149066)をご覧ください。 – lmo

+0

ほんとうに簡単です。毎回書き込む必要がなければ...ヒントのおかげです。 – dmontaner

答えて

1

dat %>% group_by(l) %>% filter(n() > 1)

を、それがどのパッケージに存在する場合、私は知らないが、あなたは簡単にそれを実装することができるので、私はちょうど先に進んでそれを自分で実装すると言います。

関連する問題