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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *