и два или более выбора.
тим, у меня есть таблица данных,
dt = data.table(matrix(1:50, nrow = 5));
colnames(dt) = letters[1:10];
> dt
a b c d e f g h i j
1: 1 6 11 16 21 26 31 36 41 46
2: 2 7 12 17 22 27 32 37 42 47
3: 3 8 13 18 23 28 33 38 43 48
4: 4 9 14 19 24 29 34 39 44 49
5: 5 10 15 20 25 30 35 40 45 50
Я хочу выбрать несколько прерывистых диапазонов столбцов, таких как:a
, c:d
, f:h
а такжеj
, Это можно легко сделать черезdplyr-х select()
:
dt %>% select(a, c:d, f:h, j)
Я ищуdata.table
способ достижения того же.
Прямо сейчас я могу выбрать столбцы по отдельности в любом порядке:dt[ , .(a, c)]
или простоодин последовательность имен столбцов в формеstartcol:endcol
:
dt[ , c:f]
Тем не менее, я не могу объединить два вышеупомянутых метода, чтобы выбратьнесколько диапазон столбцов в один выстрел в.SDcols
как я сделал вdplyr::select