2016-10-15 3 views
0

大きな要因生成重複する機能は、私はこのような1列にデータフレームを持って

df2 <- df[!duplicated(df), ] 

をそれがするのではなく、大きな要因を生成します重複を削除する。

df2 <- df[!duplicated(df), , drop = FALSE] 

別のオプションはunique機能を使用している:あなただけの1列を持っている場合は

str(df2) 
Factor w/ 7472 levels 
+0

ようこそ!再現可能な例を提供するために、トラブルシューティングコードに関する質問をお願いします。 'dput()'を使ってデータを共有することができます。 –

答えて

2

は、あなたが戻ってデータフレームを取得するためにdrop = FALSEを使用する必要がありますのような構造の何かの結果はこれです

df2 <- unique(df) 

両方のアプローチの結果は同じである:

スタックオーバーフローに
> df2 
    col1 
1 line1 
3 line2 
+0

カラムが1つしかない場合を除いて、ドロップする必要はありません(1つのカラムしかない場合、なぜdata.frameが必要なのでしょうか?)。 –

+0

データフレームに1つのカラムがある場合、実際には 'drop = FALSE'だけが必要です(OPが記述されている場合) – h3rm4n

0
col1 <- c("line1", 
      "line1", 
      "line2") 

df <- data.frame(col1=col1, x=c(1,2,3)) 

df1 <- df[!duplicated(df$col1),] 
df1 
col1 x 
1 line1 1 
3 line2 3 
class(df1) 

は、[1] "data.frame"

+0

OPが私の理解したいデータフレームを返しません – h3rm4n

+0

@ h3rm4n data.frameに1つ以上の列がある場合。 1列の場合は、data.frameを使用しないでください。 –

+0

はい、OPには1列しかありません – h3rm4n

関連する問題