开始使用免费开始使用

每日价格区间

股票价格的日内区间是衡量市场波动性的一个重要指标。

您在一家投资公司担任数据分析师。您的主管希望计算全球前 10 家科技公司的股票每日价格区间。 您已经有一个包含每日股价的 CSV 文件列表 stock_list。对于每个文件,您希望添加一个区间列。初级数据分析师已编写了以下 R 代码来完成此事:

for (file in file_list) {

  df <- read.csv(file)
  df$range <- 0
  for (r in 1:nrow(df)) {
    df$range[r] <- df$High[r] - df$Low[r]
  }
  write.csv(df, file)
}

您想在一台专用的 Apple Mac 上并行运行这段代码,并希望使用 FORK 集群以获得更好的效果。parallel 包已在您的工作空间中加载。

本练习是课程的一部分

R 并行编程

查看课程

练习说明

  • 使用提供的代码封装成函数 add_range(),该函数以文件路径为参数,并为该文件添加 range 列。
  • 创建一个包含 4 个核心的 FORK 集群。
  • 并行地将 add_range() 应用于 stock_list 的每个元素。
  • 停止集群。

交互式实操练习

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

# Make a function out of existing code
add_range <- function (file) {
  ___
  
  
  
  
  
}
# Make FORK cluster of four cores
cluster <- makeCluster(___, type = "___")
# Apply add_range to stock_list in parallel
out <- parLapply(___, ___, ___)
# Stop cluster
___
编辑并运行代码