data.table
Datos de limpieza
Buscar..
Manejo de duplicados
# example data
DT = data.table(id = c(1,2,2,3,3,3))[, v := LETTERS[.I]][]
Para tratar los "duplicados", combine filas de conteo en un grupo y subconjunto de filas por grupo .
Mantener una fila por grupo
Aka "soltar duplicados" alias "deduplicate" alias "uniquify".
unique(DT, by="id")
# or
DT[, .SD[1L], by=id]
# id v
# 1: 1 A
# 2: 2 B
# 3: 3 D
Esto mantiene la primera fila. Para seleccionar una fila diferente, se puede jugar con la parte 1L
o usar el order
en i
.
Mantener solo filas únicas
DT[, if (.N == 1L) .SD, by=id]
# id v
# 1: 1 A
Mantener sólo filas no únicas
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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow