我正在使用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