누군가 내 프로그램에서이 오류가 발생하는 이유를 이해할 수 있도록 도와주십시오.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)
제 생각에는 ClusterExport (cl, "ts")는 함수 환경 내에서만 존재하기 때문에 오류가 발생하지 않습니다. ClusterExport (cl, list ("ts", "pay.freq"), envir = environment()) 으로 바 꾸었습니다. – Marcus