Construire une matrice via une liste

Questions sur les objets de R et la manipulation des données

Modérateur : Groupe des modérateurs

Sébastien Hamel
Messages : 71
Enregistré le : 11 Mai 2006, 08:00

Construire une matrice via une liste

Messagepar Sébastien Hamel » 26 Juil 2006, 08:37

J'ai une liste nommée "sel" qui possède 5 matrices de dimension différentes:

Code : Tout sélectionner

dim(sel[[1]])
[1] 33  9
>dim(sel[[2]])
[1] 46  9
>dim(sel[[3]])
[1] 110   9
>dim(sel[[4]])
[1] 13  9
>dim(sel[[5]])
[1] 67  9


je souhaiterais donc créer une seule matrice qui aurait comme dimension:
nrow=dim(sel[[1]])[1] + dim(sel[[2]])[1] + dim(sel[[3]])[1] + dim(sel[[4]])[1] + dim(sel[[5]])[1]
ncol=dim(sel[[1]])[2]

Comment dois-je m'y prendre?

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 26 Juil 2006, 08:52

bonjour,

voici un p'tit exemple pour répondre à ta question:


Code : Tout sélectionner

> list1 <- list()
> list1[[1]] <-  matrix(rnorm(25),nc=5)
> list1[[2]] <-  matrix(rnorm(35),nc=5)
> list1[[3]] <-  matrix(rnorm(15),nc=5)
>
> for(i in 1:3){
+ cat("dimension de la matrice n°",i,":\n")
+ print(dim(list1[[i]]))
+ }
dimension de la matrice n° 1 :
[1] 5 5
dimension de la matrice n° 2 :
[1] 7 5
dimension de la matrice n° 3 :
[1] 3 5
>
> ted <- NULL
> for(i in 1:3) ted <- rbind(ted, list1[[i]])
> dim(ted)
[1] 15  5
>


pour "attacher" les matrices par les colonnes, tu utilises "cbind"
et pour "attacher" les matrices par les lignes, tu utilises "rbind".


en espérant avoir aidé un peu :)

@+++

pierre
=@===--------¬-------¬------¬-----¬
liens utiles :
http://www.gnurou.org/Writing/SmartQuestionsFr
http://neogrifter.free.fr/welcomeOnInternet.jpg
]<((((*< -------------------------------


Retourner vers « Archives : Manipulation de données avec R »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron