3

我有如下功能:

fxn <- function(X) {
    data <- replicate(10, rnorm(10000)) 
    clusters <- kmeans(data, X)
    write.csv(clusters$cluster, paste0("kmeans", X, ".csv"))}

我想使用 mclapply 并行迭代它。

list <- list(10, 50, 100, 150, 200, 250, 300)
mclapply(list, fxn, mc.cores = 8)

这是我的函数和用例的一个非常简化的版本,但我想用它来阐明在使用用户定义的函数和 mclapply 时如何处理环境。

因为这是在同一个 RAM 上并行处理的,所以我想知道 mclapply 函数是否会在某些时候“混淆”并混合data或混合clusters不同的参数(如 定义list)(通过覆盖dataclusters使用变量是使用错误的X)。我知道每个函数都维护自己的环境,但是由于一次使用多次相同的函数,我想确认它是如何工作的。

如果您能为我澄清这一点或为我指明正确的方向,我将不胜感激。

谢谢!

4

0 回答 0