具有许多不同密钥的交叉产品的R包ff失败

时间:2013-11-11 14:50:28

标签: r ffbase

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

1 个答案:

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