チェーンで質問に答える
データセットについて特定の問いがあるときは、適切な 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()