Як витягти стовпець з data.table як вектор за його положенням? Нижче наведено кілька фрагментів коду, які я спробував:
DT<-data.table(x=c(1,2),y=c(3,4),z=c(5,6))
DT
# x y z
#1: 1 3 5
#2: 2 4 6
Я хочу отримати цей результат, використовуючи позицію стовпця
DT$y
#[1] 3 4
is.vector(DT$y)
#[1] TRUE
Інший спосіб отримати цей результат за допомогою позиції стовпця
DT[,y]
#[1] 3 4
is.vector(DT[,y])
#[1] TRUE
Це не дає вектора
DT[,2,with=FALSE]
# y
#1: 3
#2: 4
is.vector(DT[,2,with=FALSE])
#[1] FALSE
Ці два не працюють:
DT$noquote(names(DT)[2]) # Doesn't work
#Error: attempt to apply non-function
DT[,noquote(names(DT)[2])] # Doesn't work
#[1] y
І це не дає вектора:
DT[,noquote(names(DT)[2]),with=FALSE] # Not a vector
# y
#1: 3
#2: 4
is.vector(DT[,noquote(names(DT)[2]),with=FALSE])
#[1] FALSE