始める無料で始める

チェーンで質問に答える

データセットについて特定の問いがあるときは、適切な R コードのチェーンを丁寧に組み立てることで答えにたどり着けます。例えば次の問いを考えてみましょう。「スパムではないメールの中で、複数人宛てに送られたメールは、1 人宛てのメールよりも典型的な長さが短いですか?」

これは次のチェーンで答えられます。

email %>%
   filter(spam == "not-spam") %>%
   group_by(to_multiple) %>%
   summarize(median(num_char))

このコードでは、メールの長さを測るのに num_char を使い、典型値の尺度として median()(中央値)を用いていることが明確です。このコードを実行すると、答えは「はい」です。複数人宛てに送られたスパムではないメールの典型的な長さは、1 人宛てのものよりやや短いと分かります。

このチェーンは要約統計量で終わっていますが、プロットで終わる場合もあります。どのような質問に答えたいかによって変わります。

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

Rで学ぶ探索的データ分析

コースを見る

演習の手順

次の2つの問いに答えるチェーンを、いずれも変数 dollar を対象に作成してください。

  • 「dollar」という単語を含むメールについて、典型的なスパムメールは、典型的な非スパムメールよりもその単語の出現回数が多いですか?この問いに答える要約統計量を作成してください。
  • dollar の出現回数が 10 を超えるメールに遭遇した場合、スパムと not-spam のどちらである可能性が高いですか?この問いに答える棒グラフを作成してください。

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

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

# Question 1
email %>%
  filter(___) %>%
  group_by(___) %>%
  summarize(___)

# Question 2
email %>%
  filter(___) %>%
  ggplot(aes(x = ___)) +
  geom_bar()
コードを編集して実行