1. 学ぶ
  2. /
  3. コース
  4. /
  5. purrr で学ぶ中級関数型プログラミング

Connected

演習

keep でデータをきれいにする

このコースのはじめから、1週間の A/B テストの結果を使ってきました。

結果は all_visits というリストに入っています。このリストには visit_a、visit_b、visit_c が含まれます。これらのベクトルには名前がありません。いずれも1週間(7日分)を表す7つの数値が入っています。

最初に確認したいのは「平均で1時間あたり100件を超えた日はどれか?」という点です。ここでは keep() 関数を使います。ただし、ベクトルに名前がないと結果が読みにくくなります。数字は得られても、その数字がどの日に対応するのか分からないためです。

朗報です。set_names() 関数を使えばこの問題を解決できます。本チャプターでは、まずは名前なしベクトルに対して keep() を使い、その後で名前ありベクトルに対しても使っていきます。

指示

100 XP
  • .x が100より大きいかどうかをテストするマッパーを作成してください。このマッパーは2回使います。
  • このマッパーを keep() と組み合わせ、名前のないリスト all_visit に対して map してください。結果に名前がないため、どの日が残ったか分かりません。
  • こちらで用意した名前ベクトルを使い、map() と set_names() を組み合わせて各ベクトルに名前を付けてください。
  • 先ほど作成したマッパーを、名前を付けた新しいリストに対して map してください。より読みやすくなったのが分かるはずです!