data.table
Очистка данных
Поиск…
Обработка дубликатов
# example data
DT = data.table(id = c(1,2,2,3,3,3))[, v := LETTERS[.I]][]
Чтобы иметь дело с «дубликатами», комбинируйте подсчет строк в группе и подмножество строк по группам .
Держите одну строку за группу
Aka «drop duplicates», иначе «дедуплицировать», ака «uniquify».
unique(DT, by="id")
# or
DT[, .SD[1L], by=id]
# id v
# 1: 1 A
# 2: 2 B
# 3: 3 D
Это сохраняет первую строку. Чтобы выбрать другую строку, вы можете играть с частью 1L
или использовать order
в i
.
Сохранять только уникальные строки
DT[, if (.N == 1L) .SD, by=id]
# id v
# 1: 1 A
Держите только неживые строки
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow