"Error in checkForRemoteErrors(val) : 2 nodes produced errors; first error: could not find function "wincrqa"
"Error in checkForRemoteErrors(val) : 2 nodes produced errors; first error: could not find function "wincrqa"
我目前正在尝试 运行 使用以下代码的并行化 RQA。
library(snow)
library(doSNOW)
library(crqa)
my_wincrqa = function(x, y){
wincrqa(x, y, windowstep = 1000, windowsize = 2000,
radius = .2, delay = 4, embed = 2, rescale = 0, normalize = 0,
mindiagline = 2, minvertline = 2, tw = 0, whiteline = F,
side = "both", method = "crqa", metric = "euclidean", datatype = "continuous")
}
cl<-makeCluster(11,type="SOCK")
start_time <- Sys.time()
WCRQA_list = clusterMap(cl, my_wincrqa, HR_list, RR_list)
end_time <- Sys.time()
end_time - start_time
不幸的是,我明白了:“
Error in checkForRemoteErrors(val) : 2 nodes produced errors; first
error: could not find function "wincrqa"
我知道设置并行处理时可能存在求和错误,但我无法解决。我还使用 parallel() 包尝试了类似的事情。
我很高兴能得到任何帮助!
最好的,
约翰逊
问题是您已经在主执行环境中加载并附加了“crqa”包,但集群节点是 运行 单独、隔离的 R 会话中的代码——它们看不到相同加载的包或全局变量!
最简单的解决方案是将 wincrqa
的使用替换为完全限定名称,即在您的函数中使用 crqa::wincrqa
。
或者,可以在执行函数之前在所有集群节点上附加“crqa”包:
clusterEvalQ(cl, library(crqa))
WCRQA_list = clusterMap(cl, my_wincrqa, HR_list, RR_list)
我目前正在尝试 运行 使用以下代码的并行化 RQA。
library(snow)
library(doSNOW)
library(crqa)
my_wincrqa = function(x, y){
wincrqa(x, y, windowstep = 1000, windowsize = 2000,
radius = .2, delay = 4, embed = 2, rescale = 0, normalize = 0,
mindiagline = 2, minvertline = 2, tw = 0, whiteline = F,
side = "both", method = "crqa", metric = "euclidean", datatype = "continuous")
}
cl<-makeCluster(11,type="SOCK")
start_time <- Sys.time()
WCRQA_list = clusterMap(cl, my_wincrqa, HR_list, RR_list)
end_time <- Sys.time()
end_time - start_time
不幸的是,我明白了:“
Error in checkForRemoteErrors(val) : 2 nodes produced errors; first error: could not find function "wincrqa"
我知道设置并行处理时可能存在求和错误,但我无法解决。我还使用 parallel() 包尝试了类似的事情。
我很高兴能得到任何帮助!
最好的, 约翰逊
问题是您已经在主执行环境中加载并附加了“crqa”包,但集群节点是 运行 单独、隔离的 R 会话中的代码——它们看不到相同加载的包或全局变量!
最简单的解决方案是将 wincrqa
的使用替换为完全限定名称,即在您的函数中使用 crqa::wincrqa
。
或者,可以在执行函数之前在所有集群节点上附加“crqa”包:
clusterEvalQ(cl, library(crqa))
WCRQA_list = clusterMap(cl, my_wincrqa, HR_list, RR_list)