¿Cómo borrar una fila por referencia en data.table?

Mi pregunta está relacionada con la asignación por referencia versus la copia endata.table. Quiero saber si uno puede eliminar filas por referencia, similar a

DT[ , someCol := NULL]

Quiero saber sobre

DT[someRow := NULL, ]

Supongo que hay una buena razón por la que no existe esta función, por lo que tal vez podría señalar una buena alternativa al enfoque de copia habitual, como se muestra a continuación. En particular, yendo con mi favorito del ejemplo (data.table),

DT = data.table(x = rep(c("a", "b", "c"), each = 3), y = c(1, 3, 6), v = 1:9)
#      x y v
# [1,] a 1 1
# [2,] a 3 2
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 9

Digamos que quiero eliminar la primera fila de esta tabla de datos. Sé que puedo hacerlo:

DT <- DT[-1, ]

pero a menudo podemos querer evitar eso, porque estamos copiando el objeto (y eso requiere aproximadamente 3 * N de memoria, si Nobject.size(DT), como se señala aquí. Ahora he encontradoset(DT, i, j, value). Sé cómo establecer valores específicos (como aquí: configurar todos los valores en las filas 1 y 2 y las columnas 2 y 3 en cero)

set(DT, 1:2, 2:3, 0) 
DT
#      x y v
# [1,] a 0 0
# [2,] a 0 0
# [3,] a 6 3
# [4,] b 1 4
# [5,] b 3 5
# [6,] b 6 6
# [7,] c 1 7
# [8,] c 3 8
# [9,] c 6 9

Pero, ¿cómo puedo borrar las dos primeras filas, por ejemplo? Obra

set(DT, 1:2, 1:3, NULL)

establece el DT completo en NULL.

Mi conocimiento de SQL es muy limitado, por lo que me dicen: dado que data.tabla utiliza tecnología SQL, ¿existe un equivalente al comando SQL?

DELETE FROM table_name
WHERE some_column=some_value

en data.table?

Respuestas a la pregunta(6)

Su respuesta a la pregunta