Here is another approach:

> tmp <- expand.grid( 1:nrow(B), 1:nrow(A) )
> out <- cbind( A[tmp[,2],], B[tmp[,1],] )

Hope this helps,

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
(801) 408-8111
 
 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of sun
> Sent: Tuesday, November 13, 2007 4:50 AM
> To: [EMAIL PROTECTED]
> Subject: [R] combine two dataframe
> 
> I have two data frame A and B adn want to cross them.
> A has format as: 
> 
> a1  a2 a3
> 1   2    3
> 2   3    1
> 1   3    2
> ...
> 
> B:
> 
> b1 b2
> 1   2 
> 2   1
> ...
> 
> the combine result shall be something like
> 
> a1 a2 a3 b1 b2
> 1   2   3   1  2
> 1   2   3   2  1
> 2   3   1   1  2
> 2   3   1   2  1
> 1   3   2   1  2
> 1   3   2   2  1
> ....
> 
> 
> is there a function able of doing this instead of  loops?
> 
> Thanks,
> Sun
> 
> ______________________________________________
> R-help@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.
> 

______________________________________________
R-help@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.

Reply via email to