[R] matrix manipulation with its rows

PIKAL Petr petr.pikal at precheza.cz
Wed Jan 16 11:15:26 CET 2013


Hi

with  your specific example you can use

remat<-function(mat) {
mt<-t(mat)
mt<-c(mt[1:3], rep(0,6), mt[4:6])
matrix(mt, 2,6, byrow=TRUE)
}

lapply(sample, remat)

Regards
Petr

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Kathryn Lord
> Sent: Wednesday, January 16, 2013 9:00 AM
> To: r-help at r-project.org
> Subject: [R] matrix manipulation with its rows
> 
> 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 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.



More information about the R-help mailing list