Bir programın başlangıcında bir genel tohum ayarlamak istediğim birkaç işlem gerçekleştirdiğimizi düşünün: ör.Tohumların Mclapply ile kontrol edilmesi
mylist <- list(as.list(rep(NA,3)), as.list(rep(NA,3)))
foo <- function(x){ for(i in 1:length(x)){
x[[i]] <- sample(100,1)
}
return(x)
}
# start block
set.seed(1)
l1 <- lapply(mylist, foo)
l2 <- lapply(mylist, foo)
# end
bir blok
l1
içinde tabii
ve l2
farklıdır, ama yine yukarıda blok çalıştırın l1
daha önce olduğu gibi aynı olacak ve l2
daha önce olduğu gibi aynı olacaktır.
library(parallel)
# start block
set.seed(1)
mclapply(mylist , foo, mc.cores = 3)
mclapply(mylist , foo, mc.cores = 3)
# end
ben bu bloğu çalıştırırsanız
yine farklı sonuçlar yakın zaman alacak:i mclapply
değil lapply
kullanmak istiyorum, bu yüzden yapmak foo
korkunç zaman çok tüketen düşünün. Bir genel tohumun lapply
ile ayarlanmasını ancak mclappy
'u kullanarak aynı davranışı nasıl üretebilirim. Ben mclapply
doküman içinde baktım ama kullanan çünkü emin değilim:
set.seed(1)
l1 <- mclapply(mylist , foo, mc.cores = 3, mc.set.seed=FALSE)
l2 <- mclapply(mylist , foo, mc.cores = 3, mc.set.seed=FALSE)
sonuç l1
ve l2
aynı kalmak suretiyle ne istiyorum olmadığı
"clusterSetupRNG" ... http://stackoverflow.com/questions/8358098/how-to-set-seed-for-random-simulations-with-foreach-and-domc-packages – user20650
neşelerini kullanabilirsiniz. kitaplık (doRNG) örneği tarihli ve artık işlevsel görünmüyor ve clusterSetupRNG i Aksini bana göstermediğin sürece gerçekten istediğim şey değil. – user1320502
Bir miktar değişmiş gibi görünüyor ... ['doRNG referans kılavuzu'] 'ndan üçüne bakın (http://cran.r-project.org/web/packages/doRNG/index.html). Ya da 'kar'ı kullanın – user20650