Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在'R'中使用'boot'函数的'parallel'选项`_R_Parallel Processing - Fatal编程技术网

在'R'中使用'boot'函数的'parallel'选项`

在'R'中使用'boot'函数的'parallel'选项`,r,parallel-processing,R,Parallel Processing,我在R中使用boot函数来实现引导。我的问题是如何设置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, pa

我在
R
中使用
boot
函数来实现引导。我的问题是如何设置
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"))

med_est来自
boot
手册(粗体是我的)

引导(数据、统计、R、sim=“普通”,stype=c(“i”、“f”、“w”), 地层=rep(1,n),L=NULL,m=0,权重=NULL, ran.gen=function(d,p)d,mle=NULL,simple=FALSE。。。, 并行=c(“否”、“多核”、“雪”), ncpus=getOption(“boot.ncpus”,1L),cl=NULL)

尝试:


此外,您可能需要执行类似于
library(doMC)的操作;registerDoMC(detectCores())
,或任何您喜欢的并行软件包。@Chris
引导
手册说它加载
并行
命名空间,该命名空间已经是
snow
doMC
的组合,因此无需加载库
boot
确实提供了指定集群的选项,但是手册中说,如果用户没有指定集群,它将创建集群。我认为OP的问题在于默认的
ncpus
是1L,而不是
detectCores()
system.time(boot(dat, med_est, R = 10000, parallel = "multicore", ncpus=2))