我有以下功能:
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函数是否会被混淆&#34;在某个时刻,将data
或clusters
混合为另一个参数(如list
中所定义)(通过覆盖data
和clusters
并使用变量这是使用错误的X
)制作的。我知道每个函数都维护着自己的环境,但是由于同时使用了多次相同的函数,我想确认它是如何工作的。
如果您能为我澄清这一点或指出我正确的方向,我将非常感激。
谢谢!