R中的多核和data.table

我正在尝试使用与data.table parallel multicore功能,并且无法完全按照正确的方式来执行此操作。 码:

require(multicore)
require(data.table)
dtb = data.table(a=1:10, b=1:2)
x = dtb[,parallel(a+1),by=b]

> x
   b   pid fd
1: 1 12243  3
2: 1 12243  6
3: 2 12247  4
4: 2 12247  8

我想对此调用collect() ,但这些不再是parallel对象。 应该怎么做?


我认为这符合你想要的内容:

collect(dtb[, list(jobs = list(parallel(a+1))), by = b][, jobs])

之所以没有parallel对象,不能运行collect是因为您将它们转换为list ,而不是将它们存储在列表中,这正是我上面所做的。

链接地址: http://www.djcxy.com/p/11797.html

上一篇: multicore and data.table in R

下一篇: Update statement causes fields to be updated with NULL or maximum value