在`R`

时间:2015-07-10 22:55:59

标签: r parallel-processing

我在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。

1 个答案:

答案 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))