Я увлекаюсь пакетом parallel в R и насколько простым и интуитивным он выполняет параллельные версии apply, sapply и т.д.
Существует ли аналогичная параллельная функция для replicate?
Ответ 1
Вы можете просто использовать параллельные версии lapply или sapply вместо того, чтобы говорить, чтобы реплицировать это выражение n раз, когда вы применяете заявку на 1:n, вместо того, чтобы давать выражение, вы переносите это выражение в функция, которая игнорирует переданный ему аргумент.
возможно что-то вроде:
#create cluster
library(parallel)
cl <- makeCluster(detectCores()-1)
#get library support needed to run the code
clusterEvalQ(cl,library(repsych))
#put objects in place that might be needed for the code
clusterExport(cl,c("myData"))
#... then parallel replicate...
parSapply(cl, 1:10000, function(i,...) { x <- rnorm(10); mean(x)/sd(x) } )
#stop the cluster
stopCluster(cl)