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.