Remove multiple columns from data.table

This looks like a solid, reproducible bug. It's been filed as Bug #2791.

It appears that repeating the column attempts to delete the subsequent columns.
If no columns remain, then R crashes.


UPDATE : Now fixed in v1.8.11. From NEWS :

Assigning to the same column twice in the same query is now an error rather than a crash in some circumstances; e.g., DT[,c("B","B"):=NULL] (delete by reference the same column twice). Thanks to Ricardo (#2751) and matt_k (#2791) for reporting. Tests added.


This Q has been answered but regard this as a side note.

I prefer the following syntax to drop multiple columns

DT[ ,`:=`(x = NULL, y = NULL)]

because it matches the one to add multiple columns (variables)

DT[ ,`:=`(x = letters, y = "Male")]

This also check for duplicated column names. So trying to drop x twice will throw an error message.

Tags:

R

Data.Table