On Jan 6, 2011, at 6:23 AM, Dimitris Rizopoulos wrote:

try this:

matLis <- list(matrix(1:4, 2, 2), matrix(1:6, 3, 2),
   matrix(2:1, 1, 2))

n <- max(sapply(matLis, nrow))
do.call(cbind, lapply(matLis, function (x)
   rbind(x, matrix(, n-nrow(x), ncol(x)))))

It's good that you solved the OP's question so neatly, since the alternate solution I was going to propose turns out to be for a different problem. Had the problem been for binding by row and padding with NA's, there is a ready-made function in the plyr package, rbind.fill.matrix(). No cbind.fill or cbind.fill.matrix, yet. It looks as though switching the roles of column and row in either of your respective solutions could create a general solution though.

--
David.


I hope it helps.

Best,
Dimitris


On 1/6/2011 11:56 AM, emj83 wrote:

Hi,

I have several matrix in a list, for example:
e
[[1]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[2]]
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

[[3]]
     [,1] [,2]
[1,]    2    1

I would like to join them by column i.e.
     [,1] [,2]   [,3] [,4][,5] [,6]
[1,]    1    3   1    4    2    1
[2,]    2    4   2    5   NA  NA
[3,]   NA  NA  3    6   NA   NA

I have tried do.call(cbind,e) but I get this error message as the rows are
of different length-
Error in function (..., deparse.level = 1)  :
  number of rows of matrices must match (see arg 2)

Can anyone advise me please?

Thanks Emma



--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
Web: http://www.erasmusmc.nl/biostatistiek/

______________________________________________
R-help@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.

David Winsemius, MD
West Hartford, CT

______________________________________________
R-help@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.

Reply via email to