1.12.2文档中提到with=FALSE
不再需要动态选择列。请注意,x[, cols]
等效于x[, ..cols]
和x[, cols, with=FALSE]
。但是当我使用它时,会收到警告
https://cran.r-project.org/web/packages/data.table/data.table.pdf
tmp = data.table(x = numeric(0), y = numeric(0))
cols = c('x', 'y')
tmp[, cols]
[.data.table
(tmp,,cols)中的错误: j([...]中的第二个参数)是单个符号,但列名“ cols”是 未找到。也许您打算使用DT [,..cols]。与data.frame的区别 是常见问题,并在FAQ 1.1中进行了解释。
tmp[, ..cols]
# Empty data.table (0 rows) of 2 cols: x,y
tmp[, cols, with = FALSE]
# Empty data.table (0 rows) of 2 cols: x,y
我希望cols
的行为与文档类似。另外,变体tmp[, ..cols]
也会引起对象使用的棉绒问题(这对于静态分析代码很有用)。