Comment convertir un vecteur en liste dans R (avec exemples)
Vous pouvez utiliser la fonction as.list() pour convertir rapidement un vecteur en liste dans R.
Cette fonction utilise la syntaxe de base suivante :
my_list <- as.list(my_vector)
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : convertir un vecteur en liste dans R
Le code suivant montre comment utiliser la fonction as.list() pour convertir un vecteur en liste :
#create vector
my_vector <- c('A', 'B', 'C', 'D')
#convert vector to list
my_list <- as.list(my_vector)
#view list
my_list
[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[1] "C"
[[4]]
[1] "D"
Nous pouvons utiliser la fonction class() pour confirmer que le nouvel objet a bien une classe de liste :
#view class of list
class(my_list)
[1] "list"
Bonus : ajouter un vecteur à la liste
Vous pourriez penser que vous pourriez utiliser la syntaxe suivante pour ajouter les éléments d’un vecteur à une liste dans R :
#attempt to create list with 6 elements some_list <- list('A', 'B', as.list(c('C', 'D', 'E', 'F'))) #view list some_list [[1]] [1] "A" [[2]] [1] "B" [[3]] [[3]][[1]] [1] "C" [[3]][[2]] [1] "D" [[3]][[3]] [1] "E" [[3]][[4]] [1] "F"
Plutôt qu’une liste de six éléments, la liste comporte trois éléments et le troisième élément comporte quatre sous-éléments.
Pour ajouter les éléments d’un vecteur à une liste, il faut utiliser le code suivant :
#define vector
my_vector <- c('C', 'D', 'E', 'F')
#define first list
list1 <- list('A', 'B')
#convert vector to second list
list2 <- as.list(my_vector)
#create long list by combining first list and second list
list3 <- c(list1, list2)
#view result
list3
[[1]]
[1] "A"
[[2]]
[1] "B"
[[3]]
[1] "C"
[[4]]
[1] "D"
[[5]]
[1] "E"
[[6]]
[1] "F"
Le résultat est une liste de six éléments.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment convertir une liste en vecteur dans R
Comment convertir une matrice en vecteur dans R
Comment convertir une colonne de bloc de données en vecteur dans R