R -应用附加参数



我创建了一个函数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

我认为问题是mclapply没有传递额外的参数。

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

谢谢

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

mclapply(2:4, function(i,j,k) c(i,j,k), i=1, k=5)

我认为你的问题是mclapply不采取SIMPLIFY参数,所以它传递给你的函数导致错误。您可能会与mcmapply混淆,它确实接受SIMPLIFY参数。

最新更新