gpt4 book ai didi

R 集群导出错误 "object not found"

转载 作者:行者123 更新时间:2023-12-05 00:24:41 28 4
gpt4 key购买 nike

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

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

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

Screenshot of error

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)

最佳答案

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

clusterExport(cl, varlist, envir = .GlobalEnv)

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

你在函数内部做导出,pay.freq的作用域不是GlobalEnv而是函数的本地环境。但是您还没有为clusterExport 指定函数的环境,因此clusterExport 查找GlobalEnv 并没有找到pay.freq。

我敢打赌,这是您的问题,pay.freq 现在会出现在您的环境中,因为您可能逐行检查代码进行测试。我会清除您的环境并尝试通过将函数环境指定为 clusterExport 来再次运行代码。

让我知道这是怎么回事,如果问题更微妙,我们也许可以解决它。这只是我在看这个问题时的第一个想法。

关于R 集群导出错误 "object not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25728178/

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