2012-03-14 1 views
0

一部の機能を再評価するには、snowクラスタでsourceを呼び出す必要があります。私が使用している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 })