Comment utiliser la fonction unlist() dans R (3 exemples)



Vous pouvez utiliser la fonction unlist() dans R pour convertir rapidement une liste en vecteur.

Cette fonction utilise la syntaxe de base suivante :

unlist(x)

où:

  • x : Le nom d’un objet R

Les exemples suivants montrent comment utiliser cette fonction dans différents scénarios.

Exemple 1 : utilisez unlist() pour convertir une liste en vecteur

Supposons que nous ayons la liste suivante dans R :

#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

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 : utilisez unlist() pour convertir une liste en matrice

Le code suivant montre comment utiliser unlist() pour convertir une liste en matrice :

#create list
my_list <- list(1:3, 4:6, 7:9, 10:12, 13:15)

#convert list to matrix
matrix(unlist(my_list), ncol=3, byrow=TRUE)

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
[3,]    7    8    9
[4,]   10   11   12
[5,]   13   14   15

Le résultat est une matrice à cinq lignes et trois colonnes.

Exemple 3 : utilisez unlist() pour trier les valeurs dans la liste

Supposons que nous ayons la liste suivante dans R :

#create list
some_list <- list(c(4, 3, 7), 2, c(5, 12, 19)) 

#view list
some_list

[[1]]
[1] 4 3 7

[[2]]
[1] 2

[[3]]
[1]  5 12 19

Supposons maintenant que nous essayions de trier les valeurs de la liste :

#attempt to sort the values in the list
sort(some_list)

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) : 
  'x' must be atomic

Nous recevons une erreur car la liste doit d’abord être convertie en vecteur pour que nous puissions trier les valeurs.

Nous pouvons utiliser la fonction unlist() suivante pour trier les valeurs :

#sort values in list
sort(unlist(some_list))

[1]  2  3  4  5  7 12 19

Notez que nous sommes capables de trier avec succès la liste de valeurs sans aucune erreur car nous avons d’abord utilisé unlist() , qui a converti la liste en vecteur numérique.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment utiliser la fonction length() dans R
Comment utiliser la fonction cat() dans R
Comment utiliser la fonction substring() dans R

Ajouter un commentaire

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