gpt4 book ai didi

r - parSapply 在全局环境中找不到对象

转载 作者:行者123 更新时间:2023-12-03 10:41:26 25 4
gpt4 key购买 nike

我正在尝试在多个内核上运行代码(我尝试了 snowparallel 包)。我有

cl <- makeCluster(2)
y <- 1:10
sapply(1:5, function(x) x + y) # Works
parSapply(cl, 1:5, function(x) x + y)

最后一行返回错误:
Error in checkForRemoteErrors(val) : 
2 nodes produced errors; first error: object 'y' not found

清楚 parSapply没有找到 y在全局环境中。有什么方法可以解决这个问题?谢谢。

最佳答案

节点不知道 y在master上的全局环境。你需要以某种方式告诉他们。

library(parallel)
cl <- makeCluster(2)
y <- 1:10
# add y to function definition and parSapply call
parSapply(cl, 1:5, function(x,y) x + y, y)
# export y to the global environment of each node
# then call your original code
clusterExport(cl, "y")
parSapply(cl, 1:5, function(x) x + y)

关于r - parSapply 在全局环境中找不到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10095956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com