我在boot
中使用R
函数来实现bootstrap。我的问题是如何设置boot
来利用其并行选项。考虑以下估算中位数的具体例子。
med_est <- function(dat, indices){
.dat <- dat[indices]
median(.dat)
}
dat <- rnorm(200)
system.time(boot(dat, med_est, R = 10000))
system.time(boot(dat, med_est, R = 10000, parallel = "multicore"))
我不知道如何在parallel
函数中使用boot
选项。让parallel = "multicore"
不会提高速度。我尝试过更复杂的估算问题。但我没有看到差异。所以我想我没有正确使用boot
。我的机器是双核Mac。
答案 0 :(得分:5)
来自boot
手册(粗体是我的)。
启动(数据,统计,R,SIM =&#34;普通&#34;,stype = c(&#34;我&#34;,&#34; f&#34;,&#34; w&# 34), strata = rep(1,n),L = NULL,m = 0,权重= NULL, ran.gen = function(d,p)d,mle = NULL,simple = FALSE,..., parallel = c(&#34; no&#34;,&#34; multicore&#34;,&#34; snow&#34;), ncpus = getOption(&#34; boot.ncpus&#34;,1L),cl = NULL)
尝试:
system.time(boot(dat, med_est, R = 10000, parallel = "multicore", ncpus=2))