我不知道它是否已经被问过,因为这似乎应该是一个常见的问题,但是即使尝试过,我也无法找到任何有关它的信息。抱歉。
给出dt <- data.table(col1 = c(1, 2, 3, 4), col2 = c("a", "b", "c", "d"), col3 = c(T, F, T, F))
:
dt[, c("col1", "col2")]
dt[, -c("col1", "col2")]
dt[, "col1" := NULL]
dt[, c("col1", "col2") := NULL]
dt[, -"col1" := NULL]
dt[, -c("col1", "col2") := NULL]
我很确定必须以任何方式实现最后两个目标,但是对我而言,目前尚不可能。你能给我一些建议吗?我对编程并不陌生,并且我对R有点儿了解(尽管不是我最强的),但是对data.table来说我还是很陌生。
谢谢大家。
编辑:该问题在以下链接中有一个答案,尽管该主题未解决该问题,因此如果您正在寻找此特定疑问,将很难找到它:
How do I subset column variables in DF1 based on the important variables I got in DF2?
答案 0 :(得分:5)
一个选择是setdiff
,将不需要的列分配给NULL
从原始数据集中删除
dt[, setdiff(names(dt), "col1") := NULL][]