2014-06-18 33 views
0

當我使用ffdf合併時,我看到一些奇怪的行爲,我在想如果有人能向我解釋爲什麼會發生這種情況,我該如何解決這個問題。R ffbase合併問題

這裏是正規的數據幀樣本:

dfx<-data.frame(a=1: 3, b=4:6) 
> dfy<-data.frame(a=c(1, 1, 1, 3), c=7:10) 
> dfm<-merge(dfx,dfy) 
> dfm 
    a b c 
1 1 4 7 
2 1 4 8 
3 1 4 9 
4 3 6 10 

這裏是ffdf代碼:

>ffdfx <- as.ffdf(data.frame(a=1: 3, b=4:6)) 
>ffdfy <- as.ffdf(data.frame(a=c(1, 1, 1, 3), c=7:10) 
> ffdfm[1:nrow(ffdfm),] 
    a b c 
1 1 4 7 
2 3 6 10 

我期待第一種情況,但我發現的第二種情況。我很感謝在這個問題上的任何幫助。

回答

1

您看到的行爲與包ffbase中的merge.ffdf中記錄的內容完全相同。在merge.ffdf的幫助下:?merge.ffdf

通過公共列合併兩個ffdf,或執行其他版本的數據庫連接操作。此方法與基本包中的合併類似,但僅允許內部和外部外部連接。 請注意,加入是基於ffmatch或ffdfmatch完成的:只有y中的第一個元素將被添加到x;

+0

謝謝你,你知道如何讓它按我想要的方式工作嗎? – Henry80s

+0

您提供的這個玩具示例,只需反轉x和y :) – jwijffels