수색…


중복 처리

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

"중복"을 처리하려면 그룹의 행 개수를 조합 하고 그룹 단위로 행을 부분 집합하십시오 .

그룹당 하나의 행 유지

일명 "drop duplicates"일명 "deduplicate"일명 "uniquify".

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

이것은 첫 번째 행을 유지합니다. 다른 행을 선택하려면, 1L 부품을 사용하거나 i 에서 order 을 사용할 수 있습니다.

고유 행만 유지

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