R McLappy附加参数

R McLappy附加参数,r,parallel-processing,lapply,mclapply,R,Parallel Processing,Lapply,Mclapply,我已经创建了一个函数DevCstat() 它接受以下参数:indat、mod、Covar、txtMat、PatCovar indat是一个列表,我想将该函数应用于列表中的每个元素 mod、Covar、txtMat、PatCovar是我希望在每次调用函数时使用的对象,它们在列表元素中不会改变 这似乎有效: lapply(test, DevCstat, mod='A', Covar=Covar,txtMat=txtMat, PatCovar=PatCovar) 但是,并行版本不起作用: mclap

我已经创建了一个函数DevCstat()

它接受以下参数:indat、mod、Covar、txtMat、PatCovar

indat是一个列表,我想将该函数应用于列表中的每个元素

mod、Covar、txtMat、PatCovar是我希望在每次调用函数时使用的对象,它们在列表元素中不会改变

这似乎有效:

lapply(test, DevCstat, mod='A', Covar=Covar,txtMat=txtMat, PatCovar=PatCovar)
但是,并行版本不起作用:

mclapply(test,DevCstat,mod = 'A', Covar=Covar, txtMat=txtMat, PatCovar=PatCovar, SIMPLIFY = F, mc.cores = getOption("mc.cores", numcore))
我得到了错误

all scheduled cores encountered errors in the user code
我认为问题在于McLappy没有传递额外的参数

有人知道如何正确地做到这一点吗


谢谢

您可以从下面的示例中看到,
mclappy
确实以这种方式允许额外的参数:

mclapply(2:4, function(i,j,k) c(i,j,k), i=1, k=5)
我认为您的问题在于,
mclappy
不接受
SIMPLIFY
参数,因此它会将其传递给函数,从而导致错误。您可能会对使用
SIMPLIFY
参数的
mcmapply
感到困惑