Фильтрация повторяющихся/не -уникальных строк в data.table

Редактировать 2019:Этот вопрос был задан до внесения изменений в data.tableв ноябре 2016 г. См. принятый ответ ниже как для текущего, так и для предыдущего метода.

У меня есть таблица data.tableс примерно 2,5 миллионами строк. Есть две колонки. Я хочу удалить все строки, которые дублируются в обоих столбцах. Раньше для data.frame я бы сделал так: df -> unique(df[,c('V1', 'V2')])но это не работает с data.table. Я пробовал unique(df[,c(V1,V2), with=FALSE]), но, похоже, он по-прежнему работает только с ключом таблицы данных, а не со всей строкой.

Какие-либо предложения?

Ваше здоровье, Дэви

Пример

>dt
      V1   V2
[1,]  A    B
[2,]  A    C
[3,]  A    D
[4,]  A    B
[5,]  B    A
[6,]  C    D
[7,]  C    D
[8,]  E    F
[9,]  G    G
[10,] A    B

в приведенной выше таблице data.table, где V2— ключ таблицы, будут удалены только строки 4, 7 и 10.

> dput(dt)
structure(list(V1 = c("B", "A", "A", "A", "A", "A", "C", "C", 
"E", "G"), V2 = c("A", "B", "B", "B", "C", "D", "D", "D", "F", 
"G")),.Names = c("V1", "V2"), row.names = c(NA, -10L), class = c("data.table", 
"data.frame"),.internal.selfref = <pointer: 0x7fb4c4804578>, sorted = "V2")
68
задан Brian Stamper 8 November 2019 в 16:36
поделиться