Szukaj…


Obsługa duplikatów

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

Aby poradzić sobie z „duplikatami”, połącz liczenie wierszy w grupie i podzbiór wierszy według grupy .

Zachowaj jeden wiersz na grupę

Aka „upuść duplikaty” aka „deduplikować” aka „uniquify”.

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

To utrzymuje pierwszy rząd. Aby wybrać inny wiersz, można bawić się z częścią 1L lub użyć order w i .

Zachowaj tylko unikalne wiersze

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

Zachowaj tylko nietypowe wiersze

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow