Dear list, I have a matrix M.1 (30x2) into which I would like to paste another matrix M.2 (10x2) three times. However, the columns get flipped in every odd-numbered recycle run. How can I avoid this behavior? M.1 <- matrix(numeric(30*2), ncol = 2) M.2 <- t(combn(1:5, 2)) M.1[, 1:2] <- M.2 Many thanks for help, Alrik
library(plyr) M.1[,1:2]<-do.call(rbind,alply(replicate(3,M.2),3,function(x) x)) #or M.1[,1:2]<-matrix(aperm(replicate(3,M.2),c(1,3,2)),ncol=2) A.K. ----- Original Message ----- From: Thiem Alrik <thiem at sipo.gess.ethz.ch> To: "mailman, r-help" <r-help at r-project.org> Cc: Sent: Sunday, July 14, 2013 9:48 AM Subject: [R] Matrix column flip when recycled Dear list, I have a matrix M.1 (30x2) into which I would like to paste another matrix M.2 (10x2) three times. However, the columns get flipped in every odd-numbered recycle run. How can I avoid this behavior? M.1 <- matrix(numeric(30*2), ncol = 2) M.2 <- t(combn(1:5, 2)) M.1[, 1:2] <- M.2 Many thanks for help, Alrik ______________________________________________ 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.
Only vectors recycle. If you don't want the behaviour if the matrix to reflect that of the underlying vector then don't use recycling. Instead use indexing. M.1 <- M.2[rep(1:5,3),] --------------------------------------------------------------------------- Jeff Newmiller The ..... ..... Go Live... DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k --------------------------------------------------------------------------- Sent from my phone. Please excuse my brevity. Thiem Alrik <thiem at sipo.gess.ethz.ch> wrote:>Dear list, > >I have a matrix M.1 (30x2) into which I would like to paste another >matrix M.2 (10x2) three times. However, the columns get flipped in >every odd-numbered recycle run. How can I avoid this behavior? > >M.1 <- matrix(numeric(30*2), ncol = 2) >M.2 <- t(combn(1:5, 2)) >M.1[, 1:2] <- M.2 > >Many thanks for help, > >Alrik > >______________________________________________ >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.