data.table
Rengöringsdata
Sök…
Hantera duplikat
# example data
DT = data.table(id = c(1,2,2,3,3,3))[, v := LETTERS[.I]][]
För att hantera "dubbletter", kombinera räkna rader i en grupp och dela in rader per grupp .
Håll en rad per grupp
Aka "släpp dubbletter" aka "deduplicera" alias "unika."
unique(DT, by="id")
# or
DT[, .SD[1L], by=id]
# id v
# 1: 1 A
# 2: 2 B
# 3: 3 D
Detta håller den första raden. För att välja en annan rad kan man fikla med 1L
delen eller använda order
i
.
Håll endast unika rader
DT[, if (.N == 1L) .SD, by=id]
# id v
# 1: 1 A
Håll endast icke-unika rader
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow