Pertanyaan Hapus duplikat baris dalam dua kolom secara bersamaan [duplikat]


Pertanyaan ini sudah memiliki jawaban di sini:

Saya ingin menghapus baris duplikat berdasarkan dua kolom, bukan hanya satu.

Masukan saya df:

RAW.PVAL  GR     allrl  Bak
0.05      fr     EN1    B12
0.05      fg     EN1    B11
0.45      fr     EN2    B10
0.35      fg     EN2    B066

Keluaran saya:

RAW.PVAL  GR  allrl   Bak
0.05      fr   EN1    B12
0.45      fg   EN2    B10
0.35      fg   EN2    B066

Saya telah mencoba df<- subset(df, !duplicated(allrl, RAW.PVAL)), tetapi saya tidak bekerja untuk menghapus baris dengan dua kolom ini secara bersamaan diduplikasi.

Terima kasih!


4
2017-08-14 06:32


asal


Jawaban:


Jika ingin digunakan subset, kamu bisa mencoba:

  subset(df, !duplicated(subset(df, select=c(allrl, RAW.PVAL))))
 # RAW.PVAL GR allrl  Bak
 #1     0.05 fr   EN1  B12
 #3     0.45 fr   EN2  B10
 #4     0.35 fg   EN2 B066

Tapi, saya pikir pendekatan @ thelatemail akan lebih baik

  df[!duplicated(df[c("RAW.PVAL","allrl")]),]

9
2017-08-14 06:36



Menggunakan unique() untuk menghapus nilai duplikat.


-2
2017-08-14 06:37