始める無料で始める

フォールダブルな演算(I)

データ全体に対して実行しても、データをチャンクに分けて各チャンクで実行し、その結果に対してさらに実行しても同じ答えになる演算は、foldable(折りたたみ可能)と呼ばれることがあります。max()min() はその一例です。 ここでは、ベクトルまたはベクトルのリストを受け取る range() 関数のフォールダブル版を定義しています。 この関数が正しく動作することを、住宅ローンのデータセットでテストして確認してください。

この演習はコースの一部です

Rで学ぶスケーラブルなデータ処理

コースを見る

演習の手順

  • mort データセットの "record_number" 列で foldable_range() が動作することを確認してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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
___
コードを編集して実行