101 votes

Convertir un vecteur en liste, chaque élément du vecteur étant un élément de la liste.

Le vecteur est le suivant :

c(1,2,3)
#[1] 1 2 3

J'ai besoin de quelque chose comme ça :

list(1,2,3)
#[[1]]
#[1] 1
#
#[[2]]
#[1] 2
#
#[[3]]
#[1] 3

J'ai essayé ça :

list(c(1,2,3))
#[[1]]
#[1] 1 2 3

138voto

qed Points 1769

C'est simple, il suffit de faire ça :

as.list(c(1,2,3))

10voto

John Points 84

Un ajout à la réponse acceptée : si vous voulez ajouter un vecteur à d'autres éléments d'une liste plus longue, as.list() peut ne pas produire ce que vous attendez. Par exemple : vous voulez ajouter 2 éléments de texte et un vecteur de cinq éléments numériques (1:5), pour obtenir une liste de 7 éléments.

L<-list("a","b",as.list(1:5)) 

Oups : cela renvoie une liste avec 3 éléments, et le troisième élément a une sous-liste de 5 éléments ; ce n'est pas ce que nous voulions ! La solution consiste à joindre deux listes distinctes :

L1<-list("a","b")
L2<-as.list(1:5)
L<-c(L1,L2) #7 elements, as expected

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