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]]

>

>

>

>

> ______________________________________________

>

[hidden email] 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/______________________________________________

[hidden email] mailing list

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.