gpt4 book ai didi

r - foreach 错误 "could not find function "%do %""

转载 作者:行者123 更新时间:2023-12-02 15:40:40 26 4
gpt4 key购买 nike

我明白了

Error in { : task 1 failed - "could not find function "%do%""

运行此代码时

....
niters = 1000
mFR <- foreach(i=1:iters, .combine=rbind) %dopar% {
foreach(j=1:iters, .combine=c) %do% {
mp2 <- mp[sample(1:1e6, iters)]
fexist = 0
if (mp2[j]>mR12[i]) {
Frv = 1
fexist = 1
} else if (mp2[j]<=mRy2[i]) {
Frv = 0
fexist = 1
} else {
if (mRy2[i]>mR12[i]) {
Frv = 1
} else {
fexist = 1
b = mDMDuc1[i]/(1-mR12[i]/mRy2[i])
m = -b/mRy2[i]
DMDp = m*mp2[j] + b
Frv = (DMDp - 0)/(mDMDc2[i] - 0)
}
}
if (fexist==1) {
mFR <- matrix(Frv, ncol=1, nrow = 1)
mFR
}
}
}

知道为什么会发生这个错误吗?谢谢!

最佳答案

您的并行工作程序每个都在一个干净的 R session 中运行,因此您必须在每个工作程序中加载 foreach 包。

尝试将 .packages="foreach" 添加到您的第一行,即:

mFR <- foreach(i=1:iters, .combine=rbind, .packages="foreach") %dopar% ...{
<小时/>

附加说明:foreach 包定义了一个运算符%:%,旨在简化这种类型的嵌套 for 循环。

要了解更多信息,请使用

library(foreach)
vignette("nested")

关于r - foreach 错误 "could not find function "%do %"",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25784642/

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