R群集导出错误“找不到对象”

马库斯

有人可以帮我了解为什么我的程序会产生此错误吗?

从这里可以看出,“ pay.freq”显然是环境的一部分,那么为什么找不到它呢?语法与“ ts”相同,可以毫无问题地找到

大圆圈部分覆盖了单词功能,小圆圈部分覆盖了单词情节。

错误的屏幕截图

cf.pro <- function(t=0,Tb=T,r=Y, k=1, PRFlag="P", freq="w",plot=0){ #Beregner exposure for alle tidspunkter med udgangspunkt 
  ts <- seq(0,30,1/52)
  pay.freq <- if(toupper(freq)=="W"){1}else #bestemmer hvor ofte der sker betalinger
    if(toupper(freq)=="Q"){13}else
      if(toupper(freq)=="H"){26}else
        if(toupper(freq)=="Y"){52}else print("Fejl i frequency input")

  library('parallel')
  cl <- makeCluster(7)
  clusterEvalQ(cl,source("C:/Users/Marcus/Documents/CBS/Speciale/Data/Global data.R"))
  clusterEvalQ(cl,source("C:/Users/Marcus/Documents/CBS/Speciale/Data/Swappriser.R"))
  clusterEvalQ(cl,source("C:/Users/Marcus/Documents/CBS/Speciale/Data/Interest simulation.R"))
  clusterEvalQ(cl,source("C:/Users/Marcus/Documents/CBS/Speciale/Data/Survival sim.R"))
  clusterEvalQ(cl,source("C:/Users/Marcus/Documents/CBS/Speciale/Data/Exposures.R"))
  clusterExport(cl,"ts")
  clusterExport(cl,"pay.freq")

 cf.pro <- parSapplyLB(cl,1:n, function(j){ #Beregner exposure serie n gange
    if (k==1) k=Swap(t=0,Ta=0,Tb=Tb,r=r[,j])
    sapply(ts,function(i){Exposure.cf(t=i,Tb=Tb,r=r[,j], k=k, PRFlag=PRFlag, pay.freq=pay.freq)}) #beregner exposure for alle tidspunkter
  })
  stopCluster(cl)

  if (plot==1) {
    tss <- seq(t, Tb, dt)
    matplot(tss, cf.pro[,1:n], type="l", lty=1, main="Exposure Profiles", ylab="Exposure") 
    lines(tss,rowMeans(cf.pro), lty=1, lwd=3)
  } 
  return(cf.pro)
}

CF.pro.w=cf.pro(t=0,Tb=T,r=r, PRFlag="P", freq="w", plot=1)
DMT

如果您查看clusterExport文档,则调用如下

clusterExport(cl, varlist, envir = .GlobalEnv)

如您所见,查找要导出的变量的默认环境是.GlobalEnv。

您正在函数中进行导出,并且pay.freq的范围不是GlobalEnv,而是函数的本地环境。但是,您尚未将函数的环境指定为clusterExport,因此clusterExport会查找GlobalEnv,而不会找到pay.freq。

我愿意打赌这是您的问题,并且pay.freq现在显示在您的环境中,因为您可能逐行通过代码进行测试。我将清除您的环境,然后通过将函数环境指定为clusterExport来尝试再次运行代码。

让我知道这是怎么回事,如果问题更加细微,我们也许可以解决。这只是我首先想到的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章