data.table
Daten reinigen
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