首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适用于Windows的‘'mclapply’

适用于Windows的‘'mclapply’
EN

Stack Overflow用户
提问于 2015-11-19 16:05:00
回答 2查看 4.2K关注 0票数 4

我正在使用https://github.com/mplatzer/BTYDplus/blob/master/R/pareto-nbd-mcmc.r中给出的BTYD plus代码。此代码使用MCMC技术来估计BTYD模型的Pareto/NBD参数。

所以,如果你看到代码的第224-228行,它使用了‘mclapply’函数--我发现这个函数只能在Linux或MAC上运行。我正在windows机器上工作,需要转换这部分代码,以便我能够在Windows机器上执行它。那么,有没有人可以帮我写这个特定的代码,或者给出一个关于如何在windows中使用'mclapply‘的一般概念?

EN

回答 2

Stack Overflow用户

发布于 2015-11-19 17:29:31

使用parLapply

代码语言:javascript
复制
Sys.info()["sysname"]
#  sysname 
#"Windows"

library(parallel)
cl <- makeCluster(getOption("cl.cores", 2))
l <- list(1, 2)
system.time(
parLapply(cl, l, function(x) {
  Sys.sleep(10)
  })
)
#user  system elapsed 
#0       0      10 

stopCluster(cl)

如果您的任务包含随机数生成,则可能需要查看doRNG包的可重复性。

票数 10
EN

Stack Overflow用户

发布于 2015-11-19 17:34:04

在并行软件包的文档中,我发现了以下内容:

“作为lapply的类似物,有

parLapply(cl,x,FUN,...)

mclapply(X,FUN,...,mc.cores)

其中mclapply在Windows上不可用...“

第3页,https://stat.ethz.ch/R-manual/R-devel/library/parallel/doc/parallel.pdf

所以我猜parLapply就是你要找的。

警告:我必须说我自己还没有使用过parLapply。我在Windows的R中运行的唯一并行计算是使用foreach包完成的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33799496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档