Hi, Uwe.

I still don't get how this can be done correctly. Here is what I tried.

In the file funcs.R, define these functions:

library('modeest')
x = vector(length=500)
x = sapply(x, function(i) i=sample(c(1,0), 1))
pastK = function(n, x, k) {
    if (n>k) { return(x[(n-k):(n-1)]) }
    else {return(NA)}
}
predR = function(x, k) {
    pastList = lapply(1:length(x), function(n) pastK(n, x, k))
    pred = sapply(pastList, function(v) mfv(v)[1])
    ratio = sum(pred==x, na.rm=T)/(length(pred) - sum(is.na(pred)))
}



Then do the following:

library('snow')
cl = makeCluster(rep('localhost', 12), 'SOCK')
clusterSetupRNG(cl)
clusterEvalQ(cl, 'source("funcs.R")')
testK = function() {
    k = seq(3, 25, 2)
    r = parSapply(cl, k, function(i) predR(x, i))
    print(r)
}
testK()
stopCluster(cl)


The error still pops up:

Error in checkForRemoteErrors(val) :
  12 nodes produced errors; first error: could not find function "predR"





Best regards,

Kaiyin ZHONG
------------------------------
FMB, Erasmus MC
k.zh...@erasmusmc.nl
kindlych...@gmail.com


On Tue, Apr 23, 2013 at 3:44 PM, Uwe Ligges <lig...@statistik.tu-dortmund.de
> wrote:

>
>
> On 23.04.2013 15:00, Kaiyin Zhong (Victor Chung) wrote:
>
>> Thanks for the reply.
>>
>> How can i make the functions known to all nodes?
>>
>
> See ?clusterEvalQ
>
> you may also want to try the parallel packages.
>
> Best,
> Uwe Ligges
>
>
>
>
>> Best regards,
>>
>> Kaiyin ZHONG
>> ------------------------------**------------------------------**
>> ------------
>> FMB, Erasmus MC
>> k.zh...@erasmusmc.nl <mailto:k.zh...@erasmusmc.nl>
>> kindlych...@gmail.com <mailto:kindlych...@gmail.com>
>>
>>
>>
>> On Tue, Apr 23, 2013 at 2:43 PM, Uwe Ligges
>> <lig...@statistik.tu-dortmund.**de <lig...@statistik.tu-dortmund.de>
>> <mailto:lig...@statistik.tu-**dortmund.de<lig...@statistik.tu-dortmund.de>>>
>> wrote:
>>
>>
>>
>>     On 18.04.2013 11:11, Kaiyin Zhong (Victor Chung) wrote:
>>
>>         Here is the code, assuming 8 cores in the cpu.
>>
>>         library('modeest')
>>         library('snow')
>>
>>         cl = makeCluster(rep('localhost', 8), 'SOCK')
>>         x = vector(length=50)
>>         x = sapply(x, function(i) i=sample(c(1,0), 1))
>>
>>         pastK = function(n, x, k) {
>>               if (n>k) { return(x[(n-k):(n-1)]) }
>>               else {return(NA)}
>>         }
>>
>>         predR = function(x, k) {
>>               pastList = lapply(1:length(x), function(n) pastK(n, x, k))
>>               pred = sapply(pastList, function(v) mfv(v)[1])
>>               ratio = sum(pred==x, na.rm=T)/(length(pred) - sum(is.na
>>         <http://is.na>(pred)))
>>
>>         }
>>
>>         testK = function() {
>>               k = seq(3, 25, 2)
>>               r = parSapply(cl, k, function(i) predR(x, i))
>>         #    r = sapply(k, function(i) predR(x, i))
>>         }
>>
>>         r = testK()
>>         stopCluster(cl)
>>
>>         Here is the error:
>>         Error in checkForRemoteErrors(val) :
>>             8 nodes produced errors; first error: could not find
>>         function "predR"
>>
>>
>>
>>     predR is not yet known on all nodes, just on the master. You have to
>>     tell the nodes about the definition first.
>>
>>     Best,
>>     Uwe Ligges
>>
>>
>>
>>
>>
>>
>>         Best regards,
>>
>>         Kaiyin ZHONG
>>         ------------------------------
>>
>>         FMB, Erasmus MC
>>         k.zh...@erasmusmc.nl <mailto:k.zh...@erasmusmc.nl>
>>         kindlych...@gmail.com <mailto:kindlych...@gmail.com>
>>
>>                  [[alternative HTML version deleted]]
>>
>>         ______________________________**__________________
>>         R-help@r-project.org <mailto:R-help@r-project.org> mailing list
>>         
>> https://stat.ethz.ch/mailman/_**_listinfo/r-help<https://stat.ethz.ch/mailman/__listinfo/r-help>
>>
>>         
>> <https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
>> >
>>         PLEASE do read the posting guide
>>         
>> http://www.R-project.org/__**posting-guide.html<http://www.R-project.org/__posting-guide.html>
>>
>>         
>> <http://www.R-project.org/**posting-guide.html<http://www.R-project.org/posting-guide.html>
>> >
>>         and provide commented, minimal, self-contained, reproducible code.
>>
>>
>>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to