【发布时间】:2020-05-03 10:46:33
【问题描述】:
我有如下数据表:
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,然后再做一次,但我想检查是否有数据表方法可以做到这一点。
我尝试了规定的方式(Removing multiple columns from R data.table with parameter for columns to remove)但我无法上班:
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).
我知道使用相同的列名并不理想,但我想知道是否缺少某些命令。
【问题讨论】:
标签: r data.table