Select multiple columns in data.table by their numeric indices
data.table, r
Solution
For versions of data.table `>= 1.9.8`, the following all just work:
library(data.table)
dt <- data.table(a = 1, b = 2, c = 3)
# select single column by index
dt[, 2]
# b
# 1: 2
# select multiple columns by index
dt[, 2:3]
# b c
# 1: 2 3
# select single column by name
dt[, "a"]
# a
# 1: 1
# select multiple columns by name
dt[, c("a", "b")]
# a b
# 1: 1 2
For versions of data.table `< 1.9.8` (for which numerical column selection required the use of `with = FALSE`), see this previous version of this answer. See also NEWS on v1.9.8, POTENTIALLY BREAKING CHANGES, point 3.
Problem
How can we select multiple columns using a vector of their numeric indices (position) in `data.table`? This is how we would do with a `data.frame`: ``` df <- data.frame(a = 1, b = 2, c = 3) df[ , 2:3] # b c # 1 2 3 ```