【发布时间】:2022-01-13 17:50:38
【问题描述】:
是否可以使用 data.table 通过引用删除多个列?
以下均无效
library(data.table);
dt <- mtcars %>% setDT
# THESE ARE NOT RUNNABLE
dt[, range := NULL, with = F]
dt[, (range) := NULL, with = F]
dt[, ..range:=NULL]
dt[, ':='(.SD=NULL), .SDcols=range]
dt[, lapply(.SD, NULL), .SDcols=range]
dt[, ':='(mget(range)):=NULL]
你能帮忙吗?
PS。最终,对于上面的每一行,我想知道它何时可以使用或何时不能使用(显然,它们不能用于删除一系列列,但它们可以用于选择或分配值to,一系列列)
【问题讨论】:
-
什么是
range。也许range <- c("mpg", "cyl"); > dt[, (range) := NULL]; names(dt) [1] "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
标签: r data.table