1. Learn
  2. /
  3. Courses
  4. /
  5. Rで学ぶSentiment Analysis

Connected

Exercise

レーダーチャート

Plutchikの感情の輪を覚えていますか?NRCのレキシコンには、輪の最初のリングに対応する8つの感情が含まれています。前の演習では、8つの基本感情に基づいてcomparison.cloud()を作成しました。今回は、あの輪に似たレーダーチャートを作成します。

radarchartは、多次元データ(少なくとも3次元)を2次元で表現する方法です。ここでは本ごとの感情の出現数をチャートで表します。レーダーチャートを使うと、8つの感情を同時に確認できます。

これまで同様、"nrc" レキシコンは nrc として、Moby Dick と Huck Finn を結合して整形した moby_huck を読み込んであります。

この演習では再び、否定の grepl() を使って、チャートから感情クラスの "positive|negative" を取り除きます。復習として例を示します。

object <- tibble %>%
  filter(!grepl("positive|negative", column_name))

この演習では、集計済みの感情語を並べ替えるためにpivot_wider()を再登場させます。復習として、生データ datacamp を考えます。

people food like
Nicole bread 78
Nicole salad 66
Ted bread 99
Ted salad 21

ここで pivot_wider() を datacamp %>% pivot_wider(names_from = people, values_from = like) のように適用すると、データは次のようになります。

food Nicole Ted
bread 78 99
salad 66 21

Instructions 1/2

undefined XP
    1
    2
  • 角括弧を使って moby_huck の 945〜950 行を確認します。
  • moby_huck を [inner_join()].(https://www.rdocumentation.org/packages/dplyr/topics/join) にパイプして nrc と結合し、by パラメータを "term = "word" に指定して scores を作成します。
  • scores をさらに filter() にパイプして上書きします。filter() の中で、sentiment 列に対してパターン "positive|negative" を使った grepl() を否定して適用します。
  • さらに %>% をつないで pivot_wider() を適用し、names_from = book、values_from = n、values_fill = 0 を指定します。