2017-12-29 20 views
0

は、このような重複(1列のみ)を持つデータフレームを持つ重複除去のユニークな値を保持:

df <- data.frame(id = c("A","A","A","B","B","B","C","C")) 

それはどのように重複のユニークな値を持つことになり、新たなDFを持つことが可能でしょうか?私が試した何を期待される出力

df <- data.frame(id = c("A","B","C")) 

例がこれです。これは、レベルを持っているが、私は、これは解決策ではないと思います。

df$id[duplicated(df$id)] 
[1] A A B B C 
Levels: A B C 
+2

は 'DFを[試す重複(DFの$:!あなたが手つかずたい他の列がある場合は、最初の列への呼び出しを制限する

df2 <- unique(df) 

新しいdata.frameにこれを割り当てることができますid)、、drop = FALSE] 'を返します。 –

答えて

2

我々はパッケージからdistinct機能を使用することができます。

library(dplyr) 

df2 <- df %>% distinct() 
df2 
# id 
# 1 A 
# 2 B 
# 3 C 

id以外の列がある場合は、我々は唯一のidで重複を比較すると、他のすべての列を維持するために次のことを行うことができます。

df2 <- df %>% distinct(id, .keep_all = TRUE) 
df2 
# id 
# 1 A 
# 2 B 
# 3 C 
2

base-rからuniqueを単に使用しないのはなぜですか?

基地Rで
> unique(df) 
    id 
1 A 
4 B 
7 C 
1

unique(df) 
    id 
1 A 
4 B 
7 C 

仕事をしていません。

df2 <- unique(df[ 1 ])