Not a great solution, I don't think, but:

> kronecker(diag(2), matrix(1:6, 2, byrow=TRUE))[c(1,4),]
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    2    3    0    0    0
[2,]    0    0    0    4    5    6

So using a function that does this in 'lapply'
should solve the problem you state.  I'm guessing
the real problem might be more complex.

Pat

On 16/01/2013 07:59, Kathryn Lord wrote:
Dear R users,

I have a question about matrix manipulation with its rows.

Plz see the simple example below


sample <- list(matrix(1:6, nr=2,nc=3), matrix(7:12, nr=2,nc=3),
matrix(13:18,nr=2,nc=3))

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

[[2]]
      [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12

[[3]]
      [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18

With this list, I'd like to create this below

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

[[2]]
      [,1] [,2] [,3]   [,4] [,5] [,6]
[1,]    7    9   11     0    0    0
[2,]     0    0    0    8   10   12

[[3]]
      [,1] [,2] [,3]       [,4]   [,5]   [,6]
[1,]   13   15   17      0    0    0
[2,]       0    0    0   14   16   18



Any suggestion will be greatly appreciated.

Regards,

Kathryn Lord

        [[alternative HTML version deleted]]

______________________________________________
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.


--
Patrick Burns
pbu...@pburns.seanet.com
twitter: @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of 'Some hints for the R beginner'
and 'The R Inferno')

______________________________________________
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