data.table
データのクリーニング
サーチ…
重複の処理
# example data
DT = data.table(id = c(1,2,2,3,3,3))[, v := LETTERS[.I]][]
「重複」を処理するには、グループ内の行を数え、グループ ごとに行をサブセット化します 。
グループごとに1つの行を保持する
別名「ドロップ重複」「別名重複」「別名一意」。
unique(DT, by="id")
# or
DT[, .SD[1L], by=id]
# id v
# 1: 1 A
# 2: 2 B
# 3: 3 D
これにより、最初の行が保持されます。別の行を選択するには、 1L
部分を使用order
、 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