Zoeken…


Omgaan met duplicaten

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

Combineer het tellen van rijen in een groep en het instellen van rijen per groep om 'duplicaten' af te handelen.

Houd één rij per groep

Aka "drop duplicaten" aka "ontdubbelen" aka "uniquify."

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

Dit houdt de eerste rij. Om een andere rij te selecteren, kan men met het 1L deel spelen of de order in i .

Behoud alleen unieke rijen

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

Behoud alleen niet-unieke rijen

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow