0

在尝试创建多个不同键的交叉产品时,我在使用 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 中并不容易(或不可能?)真的让我头疼!

4

1 回答 1

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 上添加功能请求

于 2013-11-12T08:30:45.280 回答