2012-03-14 1 views
0

일부 기능을 다시 평가하려면 snow 클러스터에서 소스를 호출해야합니다. 내가 사용 clusterCall()에 대한 호출은 작동하지 않습니다R snow cluster 리소스 코드 파일로 호출

내가 문제를 발견했습니다
cl = makeSOCKcluster(rep("localhost", 5)) 
> clusterCall(cl, getwd) 
[[1]] 
[1] "/home/user" 

[[2]] 
[1] "/home/user" 

[[3]] 
[1] "/home/user" 

[[4]] 
[1] "/home/user" 

[[5]] 
[1] "/home/user" 

> clusterCall(cl, source, 'ets.load.R') 
Error in checkForRemoteErrors(lapply(cl, recvResult)) : 
    5 nodes produced errors; first error: cannot open the connection 
+0

'ets.load.R'이'source' 함수의'file' 매개 변수라는 것을 지정할 필요가있는 것처럼 보입니다. 예를 들어 (이것은 좋은 접근 방법이 아닙니다.)'clusterCall (cl, function (x) source (file = x), 'ets.load.R')' – DrDom

답변

0

, 절대 경로로 ets.load.R을 먼저 올바른 작업 디렉토리를 설정하거나 지정했다 :

clusterEvalQ(cl, source('~/home/user/ets.load.R')) 
clusterCall(cl, function() { source('~/home/users/ets.load.R'); NULL }) 
관련 문제