122 votes

Passer le nom de la colonne dans data.table en utilisant une variable

Duplicata possible :
Sélection/affectation variable aux champs d'une table de données

Dans l'exemple suivant, je crée un tableau de données dont les colonnes s'appellent 'x' et 'v'.

library('data.table')
DT <- data.table(x = c("b","b","b","a","a"), v = rnorm(5))

Je peux accéder aux valeurs de la colonne 'x' par :

DT[ , x]
# [1] "b" "b" "b" "a" "a"

Mais si je veux accéder en passant par une variable, cela ne fonctionne pas.

temp <- "x"
DT[ , temp]
# [1] "x"

Il y aura plusieurs colonnes et je devrai sélectionner des valeurs pour seulement deux d'entre elles. Ces noms de colonnes me seront fournis en passant par un module R.

C'est pas grave, je l'ai, ça devrait l'être :

DT[ , get(temp)]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X