R中的分布式计算

R中的分布式计算,r,distributed-computing,distributed-r,R,Distributed Computing,Distributed R,我算出了一个估计器,我想用R做模拟研究来检查它的性能。我想重复这个实验500次。不幸的是,估算中涉及的计算是复杂的。在我的桌面上每次复制都需要15分钟。我正在寻找一些使用R的分布式计算方法。我应该如何开始?我用谷歌搜索了这个话题。关于这一点,有很多帖子。我建议从foreach包开始。如果您使用的是mac或linux,以下是执行并行计算的最简单方法: # First we register a parallel backend. This will work on mac and linux. #

我算出了一个估计器,我想用R做模拟研究来检查它的性能。我想重复这个实验500次。不幸的是,估算中涉及的计算是复杂的。在我的桌面上每次复制都需要15分钟。我正在寻找一些使用R的分布式计算方法。我应该如何开始?我用谷歌搜索了这个话题。关于这一点,有很多帖子。

我建议从
foreach
包开始。如果您使用的是
mac
linux
,以下是执行并行计算的最简单方法:

# First we register a parallel backend. This will work on mac and linux.
# Windows is more complicated, try the `snow` package.
library(doMC)
registerDoMC(cores=4) # substitute for number of cores you want to run on.

# now we can run things in parallel using foreach
foreach (i = 1:4) %dopar% {
  # What's in here will run on a separate core for each iteration.
}

您应该阅读
foreach
的vignette,因为它与
for
的vignette(尤其是嵌套循环)有很大的不同,而且它在最后合并结果并返回结果方面也非常强大。

我建议从
foreach
包开始。如果您使用的是
mac
linux
,以下是执行并行计算的最简单方法:

# First we register a parallel backend. This will work on mac and linux.
# Windows is more complicated, try the `snow` package.
library(doMC)
registerDoMC(cores=4) # substitute for number of cores you want to run on.

# now we can run things in parallel using foreach
foreach (i = 1:4) %dopar% {
  # What's in here will run on a separate core for each iteration.
}

您应该阅读
foreach
的vignette,因为它与
for
(尤其是嵌套循环)的vignette有很大的不同,而且它在最后合并结果并返回结果方面也非常强大。

任何广泛的R问题的第一步都应该是检查CRAN任务视图。哦,你看:


请注意,StackOverflow并不是一个提出广泛问题的地方,这些问题最好通过“阅读那边的文档”或“为什么不尝试使用工具X?”来回答。

对于任何如此广泛的R问题,第一步应该是检查CRAN任务视图。哦,你看:

请注意,StackOverflow并不是一个提出广泛问题的地方,这些问题最好通过“阅读那边的文档”或“为什么不尝试使用工具X?”