开始使用免费开始使用

可折叠运算(I)

如果一种运算对整个数据集直接计算,与先对数据集的各个分块计算再对分块结果汇总计算,得到的答案相同,那么这种运算有时被称为「可折叠」(foldable)。max()min() 就是这样的例子。 这里,我们定义了一个可折叠版本的 range() 函数,它可以接受一个向量,或由多个向量组成的列表。 请在房贷数据集上进行测试,验证该函数是否有效。

本练习是课程的一部分

R 的可扩展数据处理

查看课程

练习说明

  • 验证 foldable_range() 可用于 mort 数据集的 "record_number" 列。

交互式实操练习

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

foldable_range <- function(x) {
  if (is.list(x)) {
    # If x is a list then reduce it by the min and max of each element in the list
    c(Reduce(min, x), Reduce(max, x))
  } else {
    # Otherwise, assume it's a vector and find its range
    range(x)
  }
}

# Verify that foldable_range() works on the record_number column
___
编辑并运行代码