[R] combine two dataframe
sun
flyhyena at yahoo.com.cn
Wed Nov 14 10:59:29 CET 2007
Thanks all for the answers. Both Merge and sqldf works perfectly for me.
Well, I feel sqldf run a littile bit slower. And I failed to install this
package (sqldf ) on my linux box.
Denver, your approach also works, but in my case, data frame A has much more
rows then B, so B has to be duplicated many many times.
kind regards,
Sun
----- Original Message -----
From: "Gabor Grothendieck" <ggrothendieck at gmail.com>
To: "sun" <flyhyena at yahoo.com.cn>
Cc: <r-help at stat.math.ethz.ch>
Sent: Tuesday, November 13, 2007 6:07 PM
Subject: Re: [R] combine two dataframe
> Try this:
>
>> A <- data.frame(a1 = c(1, 2, 1), a2 = c(2, 3, 3), a3 = c(3, 1, 2))
>> B <- data.frame(b1 = 1:2, b2 = 2:1)
>>
>> library(sqldf)
>> sqldf("select * from A, B")
> a1 a2 a3 b1 b2
> 1 1 2 3 1 2
> 2 1 2 3 2 1
> 3 2 3 1 1 2
> 4 2 3 1 2 1
> 5 1 3 2 1 2
> 6 1 3 2 2 1
>
>
> On Nov 13, 2007 6:49 AM, sun <flyhyena at yahoo.com.cn> wrote:
>> 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 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.
>>
More information about the R-help
mailing list