Sto provando a selezionare quelle colonne in un data.table il cui nome appare nel mio vettore di caratteri. L'operazione funziona in un puro data.frame, ma non funziona in un data.table. Ecco un esempio riproducibile.Come selezionare le colonne in data.table utilizzando un vettore di caratteri di determinati nomi di colonne?
> names(mtcars)
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
[11] "carb"
> myVector <- c('disp', 'hp', 'wt')
> head(mtcars[, myVector])
disp hp wt
Mazda RX4 160 110 2.620
Mazda RX4 Wag 160 110 2.875
Datsun 710 108 93 2.320
Hornet 4 Drive 258 110 3.215
Hornet Sportabout 360 175 3.440
Valiant 225 105 3.460
Ho appena fatto un vettore che comprende disp
, hp
e wt
e selezionate le colonne corrispondenti nel mio data.frame utilizzando tale vettore. Facciamo ora un oggetto data.table dal mio data.frame e proviamo a fare la stessa operazione.
> library(data.table)
> mtcarsDT <- data.table(mtcars)
> mtcarsDT[, myVector]
[1] "disp" "hp" "wt"