カーネル密度プロット
カーネル密度プロットについて学んだので、実際に作ってみましょう。ヒストグラムを平滑化したようなものですが、ビン幅の影響を受けない点が異なります。この演習では、感情スコアからカーネル密度プロットを作成します。
この演習ではカーネル密度を2つ描画します。1つは Agamemnon、もう1つは The Wizard of Oz です。どちらも「afinn」レキシコンとinner_join()を行います。「afinn」レキシコンでは用語が -5 から 5 のスコアで付与されています。tidy 形式にすると、どちらの本も単語と対応するスコアが保持されます。
その後、bind_rows()で結果を結合して大きなデータフレームにまとめ、ggplot2でプロットを作成します。
可視化から、どちらの本がよりポジティブ/ネガティブな表現を多く使っているかが分かります。ドロシーにもネガティブな出来事は起きるので重なりはありますが、Agamemnon と比べて The Wizard of Oz のほうがポジティブな言語の確率が高いことを、カーネル密度が示していると推測できます。
すでに ag と oz を Agamemnon と The Wizard of Oz の tidy 版として読み込み、tidytext の "afinn" レキシコンを抽出した afinn を用意しています。
この演習はコースの一部です
Rで学ぶSentiment Analysis
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
ag_afinn <- ag %>%
# Inner join to afinn lexicon
___(___, by = c("term" = "word"))
oz_afinn <- oz %>%
# Inner join to afinn lexicon
___
# Combine
all_df <- ___(agamemnon = ___, oz = ___, .id = "___")