Comment convertir une liste en vecteur dans R (avec exemples)
Vous pouvez utiliser l’une des méthodes suivantes pour convertir une liste en vecteur dans R :
#use unlist() function new_vector <- unlist(my_list, use.names = FALSE) #use flatten_*() function from purrr library new_vector <- purrr::flatten(my_list)
Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec la liste suivante :
#create list my_list <- list(A = c(1, 2, 3), B = c(4, 5), C = 6) #display list my_list $A [1] 1 2 3 $B [1] 4 5 $C [1] 6
Exemple 1 : Convertir une liste en vecteur à l’aide de la fonction unlist()
Le code suivant montre comment convertir une liste en vecteur à l’aide de la fonction unlist() :
#convert list to vector new_vector <- unlist(my_list) #display vector new_vector A1 A2 A3 B1 B2 C 1 2 3 4 5 6
Notez que vous pouvez spécifier use.names = FALSE pour supprimer les noms du vecteur :
#convert list to vector new_vector <- unlist(my_list, use.names = FALSE) #display vector new_vector [1] 1 2 3 4 5 6
Exemple 2 : convertir une liste en vecteur à l’aide de la fonction flatten_*
Le code suivant montre comment convertir une liste en vecteur à l’aide de la famille de fonctions flatten_* du package purrr :
library(purrr) #convert list to vector new_vector <- flatten_dbl(my_list) #display vector new_vector [1] 1 2 3 4 5 6
La fonction flatten_dbl() convertit spécifiquement la liste en un vecteur de type double.
Notez que nous pourrions utiliser flatten_chr() pour convertir une liste de caractères en vecteur de type caractère :
library(purrr) #define character list my_char_list <- list(A = c('a', 'b', 'c'), B = c('d', 'e'), C = 'f') #convert character list to character vector new_char_vector <- flatten_chr(my_char_list) #display vector new_char_vector [1] "a" "b" "c" "d" "e" "f"
Consultez cette page pour une liste complète de la famille de fonctions flatten_*.
Remarque : Si vous travaillez avec une liste extrêmement longue, les fonctions flatten_* fonctionneront plus rapidement que la fonction unlist() de la base R.
Ressources additionnelles
Comment convertir une liste en un bloc de données dans R
Comment convertir une matrice en vecteur dans R
Comment convertir une colonne de bloc de données en vecteur dans R