eugen pircalabelu
2012-Mar-15 12:33 UTC
[R] expand.grid using a matrix and a vector as input
Hello R-users, I have the following question, for which my search did not really return any usable result. If I have a matrix a1, and a vector a2 like below a1<-matrix(c(1:4),2,2) a2<-c(8,9) is there any function like the expand.grid (or some clever calling of the function) such that it outputs a matrix or dataframe where the entire a1 matrix is repeated for each value of a2 (the rbind and cbind solution is not something that i am after). The desired output is: out1 3 8 2 4 8 1 3 9 2 4 9 Thank you in advance and have a great day ahead! Eugen [[alternative HTML version deleted]]
Dimitris Rizopoulos
2012-Mar-15 12:56 UTC
[R] expand.grid using a matrix and a vector as input
One possibility is to use something like the following: a1 <- matrix(1:4, 2, 2) a2 <- c(8, 9) cbind(a1[rep(1:nrow(a1), length(a2)), ], rep(a2, each = nrow(a1))) I hope it helps. Best, Dimitris On 3/15/2012 1:33 PM, eugen pircalabelu wrote:> > Hello R-users, > > I have the following question, for which my search did not really return any usable result. > If I have a matrix a1, and a vector a2 like below > > a1<-matrix(c(1:4),2,2) > a2<-c(8,9) > > is there any function like the expand.grid (or some clever calling of the function) such that it outputs a matrix or dataframe where the entire a1 matrix is repeated for each value of a2 (the rbind and cbind solution is not something that i am after). > The desired output is: > > out> 1 3 8 > 2 4 8 > 1 3 9 > 2 4 9 > > Thank you in advance and have a great day ahead! > Eugen > > > [[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.-- 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/