开始使用免费开始使用

迁移到 parApply

要使用 parallel 包并行运行代码,基本流程分为三步:

  1. 使用 makeCluster() 创建集群。
  2. 执行并行计算。
  3. 使用 stopCluster() 停止集群。

创建集群最简单的方法是向 makeCluster() 传入一个数字。它会创建一个默认类型的集群,并在相应数量的内核上运行代码。

对象 dd 是一个包含 10 列、100 行的数据框。下面的代码使用 apply() 计算各列的中位数:

apply(dd, 2, median)

要并行运行这段代码,您可以将 apply() 替换为 parApply()。该函数的参数与 apply() 基本相同,只是需要在原有 apply() 参数之前多传入一个集群参数。

本练习是课程的一部分

高效 R 代码写作

查看课程

练习说明

  • 使用 detectCores() 函数,将可用内核的数量打印到控制台。
  • 使用 makeCluster() 创建一个集群;将内核数量设为 2。将结果保存为 cl
  • 将上面的 apply() 改写为 parApply()。注意,第一个参数现在应为集群对象 cl
  • 使用 stopCluster() 停止集群。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Determine the number of available cores
___

# Create a cluster via makeCluster
cl <- makeCluster(___)

# Parallelize this code
apply(dd, 2, median)

# Stop the cluster
stopCluster(cl)
编辑并运行代码