An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130116/6fa1a0ed/attachment.pl>
matrix manipulation with its rows
4 messages · Kathryn Lord, PIKAL Petr, Patrick Burns +1 more
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.
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 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.
Patrick Burns pburns at 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')
HI,
You could also do this:
?lapply(sample1,function(x) {mat1<-cbind(matrix(0,nrow=2,ncol=3),x); mat1[cbind(rep(1,3),1:3)]<- mat1[cbind(rep(1,3),4:6)]; mat1[cbind(rep(1,3),4:6)]<-0; mat1})
A.K.
----- Original Message -----
From: Kathryn Lord <kathryn.lord2000 at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Wednesday, January 16, 2013 2:59 AM
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.