在尝试创建许多不同键的交叉产品时,我遇到了使用ff包的困难。使用expand.ffgrid()时,传递单个ff对象时没有问题,如下所示:
test_ff <- expand.ffgrid(a=ff(c(0,1,2)), b=ff(c(0,1))) #-- Runs fine
但是,为了在我不知道我传入的ff对象数量的环境中生成这个,我想将这些对象作为列表传递,如下所示
test_ff <- expand.ffgrid(list(a=ff(c(0,1,2)), b=ff(c(0,1)))) #-- This fails
文档暗示(不是非常清楚)这应该是可能的,并且这种语法使用expand.grid()可以正常工作。这个功能还没有在ff中实现,还是我错过了什么?
我最初的问题是在多个数据帧上创建一个完整的外连接 - 这在ff中不容易(或可能?)真的让我头疼!
答案 0 :(得分:1)
目前列表尚未实现,但为什么不在这种情况下使用do.call? 如在
require(ffbase)
x <- list(a=ff(c(0,1,2)), b=ff(c(0,1)))
test_ff <- do.call(expand.ffgrid, x)
我将在github上添加功能请求