Suche…


Umgang mit Duplikaten

# example data
DT = data.table(id = c(1,2,2,3,3,3))[, v := LETTERS[.I]][]

Um mit "Duplikaten" umzugehen, kombinieren Sie die Zählzeilen in einer Gruppe und die Unterzeilen nach Gruppe .

Behalte eine Reihe pro Gruppe

Aka "Drop Duplikate" aka "Deduplizieren" aka "Uniquify".

unique(DT, by="id")
# or
DT[, .SD[1L], by=id]
#    id v
# 1:  1 A
# 2:  2 B
# 3:  3 D

Dies behält die erste Reihe bei. Um eine andere Reihe auszuwählen, kann man mit dem 1L Teil arbeiten oder die order in i .

Behalten Sie nur eindeutige Zeilen

DT[, if (.N == 1L) .SD, by=id]
#    id v
# 1:  1 A

Behalte nur uneindeutige Reihen

DT[, if (.N > 1L) .SD, by=id]
#    id v
# 1:  2 B
# 2:  2 C
# 3:  3 D
# 4:  3 E
# 5:  3 F


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow