R 使用mclappy运行函数时的环境

R 使用mclappy运行函数时的环境,r,parallel-processing,mclapply,R,Parallel Processing,Mclapply,我的函数如下所示: fxn <- function(X) { data <- replicate(10, rnorm(10000)) clusters <- kmeans(data, X) write.csv(clusters$cluster, paste0("kmeans", X, ".csv"))} fxn Q:mclapply函数可能会在某个时候“混淆”?答:否。为每个并行工作程序克隆环境-将列表中的每个条目传递给并行工作程序。N(核心)-生成

我的函数如下所示:

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

fxn Q:
mclapply函数可能会在某个时候“混淆”
?答:否。为每个并行工作程序克隆环境-将
列表中的每个条目传递给并行工作程序。N(核心)-生成
数据
集群
的副本。这是否意味着我可以添加
rm(数据);gc()。但是是的,你可以
rm(数据);gc()
在每个并行工作程序中-但请记住,当每个并行工作程序完成时,它将尝试清理环境本身,因此我认为您不需要显式地执行此操作。
list <- list(10, 50, 100, 150, 200, 250, 300)
mclapply(list, fxn, mc.cores = 8)