0

当我将合并与 ffdf 一起使用时,我看到了一些奇怪的行为,我想知道是否有人可以向我解释为什么会发生这种情况以及如何解决它。

这是常规数据框的示例:

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

我期待第一个案例,但我得到了第二个案例。我感谢任何关于此事的帮助。

4

1 回答 1

1

您看到的行为正是merge.ffdfpackage中记录的内容ffbase。在以下帮助下merge.ffdf?merge.ffdf

通过公共列合并两个ffdf,或者做其他版本的数据库连接操作。此方法类似于基础包中的合并,但只允许内连接和左外连接。注意加入是基于 ffmatch 或 ffdfmatch 完成的:只有 y 中的第一个元素会被添加到 x;

于 2014-06-18T19:38:17.507 回答