R中矩阵行的多对多比较

R中矩阵行的多对多比较,r,join,merge,dataframe,apply,R,Join,Merge,Dataframe,Apply,我尝试使用R关联2个大数据帧的数据。数据的组织方式如下: 第一个数据帧包括约5M行。需要将每一行与第二个数据帧中的几个(即,通常多于1个)匹配行进行比较 第二个数据帧约为100000行,每行还对应于数据帧1中的多个条目 我尝试使用merge()连接两个数据帧,并对新数据帧的每一行执行关联,但这会导致内存分配问题。生成的数据帧可能大于50M行,太大,无法处理 您有什么建议可以在不生成连接数据帧的情况下进行多对多比较吗?我查看了apply衍生工具,但找不到我想要的。数据包中的merge.data.t

我尝试使用R关联2个大数据帧的数据。数据的组织方式如下:

第一个数据帧包括约5M行。需要将每一行与第二个数据帧中的几个(即,通常多于1个)匹配行进行比较

第二个数据帧约为100000行,每行还对应于数据帧1中的多个条目

我尝试使用
merge()
连接两个数据帧,并对新数据帧的每一行执行关联,但这会导致内存分配问题。生成的数据帧可能大于50M行,太大,无法处理


您有什么建议可以在不生成连接数据帧的情况下进行多对多比较吗?我查看了
apply
衍生工具,但找不到我想要的。

数据包中的
merge.data.table
函数完成了这项工作


请小心使用选项
allow.cartesian=TRUE
,以允许多对多连接,否则将返回错误消息。

您可以查看packages data.table和/或dplyr。您是否可以提供一些代码来生成示例数据(如果可能的话,大小与您正在使用的大致相同)?可能是
sqldf
有或没有包
ff