1. เรียนรู้
  2. /
  3. Courses
  4. /
  5. purrr で学ぶ中級関数型プログラミング

Connected

Exercises

データセットを分割する

前の演習で、ツイート1件あたりのリツイート数の平均が 3.3 であることを確認しました。この演習では、この平均を上回るツイートがいくつ、下回るツイートがいくつあるかを見ていきます。

そのために、まず .x が 3.3 を上回るかどうかを判定するマッパーを作成します。次に、.at を "retweet_count"、.f を最初は作成したマッパーに、次にそのマッパーの否定にして、map_at() をあらかじめ引数指定しておきます。

このコースの作成後に purrr の挙動が変更され、partial() の .f と map_at() の .f の引数が衝突しないように、準クォートのイコール演算子 :=(通称「セイウチ演算子」)を使う必要があります。本演習では、:= は = と同様に動作しますが、その引数を partial() 自身ではなく map_at() に渡すべきだと示すものだと理解しておけば十分です。

これらのツールを用意したら、rstudioconf データセットから「オリジナルツイート」を抽出した non_rt オブジェクトに対して適用します。

purrr はすでに読み込まれています。

คำแนะนำ

100 XP
  • .x が 3.3 を上回るかどうかを判定するマッパー mean_above を作成してください。

  • map_at() の事前指定を2種類用意してください。1つは "retweet_count" と mean_above、もう1つは "retweet_count" と mean_above の否定です。

  • これら2つの事前指定済み関数を non_rt にマップし、"retweet_count" の要素だけを残してください。

  • 2つの結果の大きさを取得してください。