我有一个单元格、值和坐标的 data.frame。它驻留在全球环境中。
> head(cont.values)
cell value x y
1 11117 NA -34 322
2 11118 NA -30 322
3 11119 NA -26 322
4 11120 NA -22 322
5 11121 NA -18 322
6 11122 NA -14 322
因为我的自定义函数需要将近一秒钟来计算单个单元格(并且我有数万个单元格要计算),所以我不想重复计算已经有值的单元格。我的以下解决方案试图避免这种情况。每个单元格都可以独立计算,为并行执行而尖叫。
我的函数实际上做的是检查是否有指定单元格编号的值,如果它是 NA,它会计算它并插入它来代替 NA。
我可以使用 apply 系列函数运行我的魔法函数(结果是value
对应的),并且从内部,我可以毫无问题地读写(它在全局环境中)。cell
apply
cont.values
现在,我想并行运行它(使用snowfall
),我无法从单个核心读取或写入这个变量。
问题:当并行执行函数时,什么解决方案能够从工作人员(核心)内部读取/写入驻留在全局环境中的动态变量。有没有更好的方法来做到这一点?