Dear All, I´m using the following code: all1<-gg2[[1]][[1]]; for(i in 1:48){ all1 <- rbind(all1,gg2[[i]][[1]]) } to create a new matrix that contains all the matrices in a list called gg2. gg2 is a list that looks like>> gg2[[1]] [[1]][[1]] <matrix one> [[2]] [[2]][[1]] <matrix two> . . . [[48]] [[48]][[1]] <matrix 48> Is there a faster way to do the rbind? i've tried do.call("rbind",gg2) but does not work. Thank you for any hints or advice! Best regards, Carlos [[alternative HTML version deleted]]
Try this; do.call(rbind, sapply(gg2, '[', 1)) On Tue, Sep 29, 2009 at 2:43 PM, Carlos Hernandez <carlos.uni2 at gmail.com> wrote:> Dear All, > I?m using the following code: > > all1<-gg2[[1]][[1]]; for(i in 1:48){ all1 <- rbind(all1,gg2[[i]][[1]]) } > > to create a new matrix that contains all the matrices in a list called gg2. > gg2 is a list that looks like > >>> gg2 > [[1]] > [[1]][[1]] > <matrix one> > > [[2]] > [[2]][[1]] > <matrix two> > . > . > . > [[48]] > [[48]][[1]] > <matrix 48> > > Is there a faster way to do the rbind? > > i've tried do.call("rbind",gg2) but does not work. > > Thank you for any hints or advice! > > Best regards, > Carlos > > ? ? ? ?[[alternative HTML version deleted]] > > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > >-- Henrique Dallazuanna Curitiba-Paran?-Brasil 25? 25' 40" S 49? 16' 22" O
On Sep 29, 2009, at 1:43 PM, Carlos Hernandez wrote:> Dear All, > I?m using the following code: > > all1<-gg2[[1]][[1]]; for(i in 1:48){ all1 <- rbind(all1,gg2[[i]] > [[1]]) }Looks to me that you would be getting a duplicate copy of the first matrix, but aside from that what problems are you experiencing that make you want different approaches? You have shot your self in the foot for using simple methods by creating a more complex than needed list structure: > gg3 <- list(matrix(1:4, 2), matrix(5:8,2)) > gg3 [[1]] [,1] [,2] [1,] 1 3 [2,] 2 4 [[2]] [,1] [,2] [1,] 5 7 [2,] 6 8 > gg3 <- list(list(matrix(1:4, 2)), list(matrix(5:8,2))) > gg3 [[1]] [[1]][[1]] [,1] [,2] [1,] 1 3 [2,] 2 4 [[2]] [[2]][[1]] [,1] [,2] [1,] 5 7 [2,] 6 8 This does work, but it is not "intuitive: > rbind2 <- function (x) Reduce("rbind", x) > rbind2(lapply(gg3, "[[", 1)) [,1] [,2] [1,] 1 3 [2,] 2 4 [3,] 5 7 [4,] 6 8 -- David Winsemius, MD Heritage Laboratories West Hartford, CT> > to create a new matrix that contains all the matrices in a list > called gg2. > gg2 is a list that looks like > >>> gg2 > [[1]] > [[1]][[1]] > <matrix one> > > [[2]] > [[2]][[1]] > <matrix two> > . > . > . > [[48]] > [[48]][[1]] > <matrix 48> > > Is there a faster way to do the rbind? > > i've tried do.call("rbind",gg2) but does not work. > > Thank you for any hints or advice! > > Best regards,
Seemingly Similar Threads
- error in chol.default((value + t(value))/2) : , the leading minor of order 1 is not positive definite
- Proper way to define cbind, rbind for s4 classes in package
- ggplot adjust two y-axis
- number of Mondays
- Proper way to define cbind, rbind for s4 classes in package