我正在使用ff软件包并试图进行交叉连接。我知道ffdf合并只执行内部和外部的外部连接。有什么调整,我可以做交叉加入。R交叉加入ff对象
a=as.ffdf(data.frame(a=1:10,b=11:20))
z=as.ffdf(data.frame(y=2:4))
请帮我cross join a and z ff object.
感谢
我正在使用ff软件包并试图进行交叉连接。我知道ffdf合并只执行内部和外部的外部连接。有什么调整,我可以做交叉加入。R交叉加入ff对象
a=as.ffdf(data.frame(a=1:10,b=11:20))
z=as.ffdf(data.frame(y=2:4))
请帮我cross join a and z ff object.
感谢
从包ffbase使用expand.ffgrid和merge.ffdf的组合。
require(ff)
a=as.ffdf(data.frame(a=1:10,b=11:20))
z=as.ffdf(data.frame(y=2:4))
require(ffbase)
a$a.key <- ikey(a)
z$z.key <- ikey(z)
combined <- expand.ffgrid(a.key = a$a.key, z.key = z$z.key)
combined <- merge(combined, a, by.x="a.key", by.y="a.key", all.x=TRUE, all.y=FALSE)
combined <- merge(combined, z, by.x="z.key", by.y="z.key", all.x=TRUE, all.y=FALSE)
一种在循环中使用'ffdfappend函数的方法'。这将像交叉连接一样工作。 – Ajay