フォールダブルな演算(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
___