У меня есть следующая таблица данных:
my_dt = data.table(a = c(1,2,3), b = c(2,3,4), a = c(8,9,9))
> my_dt
a b a
1: 1 2 8
2: 2 3 9
3: 3 4 9
Таблица содержит два столбца с одинаковыми именами, и я хочу удалить оба из них. Я мог бы просто установить a
в NULL и затем сделать это снова, но я хотел проверить, есть ли способ сделать это с помощью таблицы данных. Я попытался предписанным способом ( Удаление нескольких столбцов из R data.table с параметром для столбцов для удаления ), но я не могу приступить к работе:
cols_to_delete = "a"
my_dt[, (cols_to_delete) := NULL]
#Only deletes the first occurence
> my_dt
b a
1: 2 8
2: 3 9
3: 4 9
cols_to_delete = c("a", "a")
my_dt[, (cols_to_delete) := NULL]
Error in `[.data.table`(my_dt, , `:=`((cols_to_delete), NULL)) :
Can't assign to the same column twice in the same query (duplicates detected).
Я знаю, что с тем же столбцом имя не является идеальным, но мне было интересно, есть ли какая-то команда, которую я пропускаю.