From Florian_Schwendinger at gmx.at  Wed Mar 14 16:50:59 2018
From: Florian_Schwendinger at gmx.at (Florian Schwendinger)
Date: Wed, 14 Mar 2018 16:50:59 +0100
Subject: [Rd] clusterApply arguments
Message-ID: <trinity-9abb96df-40b2-4e2d-a112-1f2e8a032353-1521042659731@3c-app-gmx-bs70>

Hi!

I recognized that the argument matching of clusterApply (and therefore parLapply) goes wrong when one of the arguments of the function is called "c". In this case, the argument "c" is used as cluster and the functions give the following error message "Error in checkCluster(cl) : not a valid cluster".

Of course, "c" is for many reasons an unfortunate argument name and this can be easily fixed by the user side. 

See below for a small example.

library(parallel)

clu <- makeCluster(2, "PSOCK")

fun <- function(x0, x1) (x0 + x1)
clusterApply(clu, x = 1:2, fun = fun, x1 = 1) ## OK
parLapply(cl = clu, X = 1:2, fun = fun, x1 = 1) #OK


fun <- function(b, c) (b + c)
clusterApply(clu, x = 1:2, fun = fun, c = 1) ## Error
clusterApply(cl = clu, x = 1:2, fun = fun, c = 1) ## OK 
parLapply(cl = clu, X = 1:2, fun = fun, c = 1) ## Error

stopCluster(clu)


I used "R version 3.4.3 Patched (2018-01-07 r74099".


Best regards,
Florian



[Rd] clusterApply arguments
Florian Schwendinger