我正在使用 ff 包并尝试进行交叉连接。我知道 ffdf merge 只执行内连接和左外连接。是否有任何调整可以让我进行交叉连接。
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 merge 只执行内连接和左外连接。是否有任何调整可以让我进行交叉连接。
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)