Bing 整齊極性:計數並樞紐展開白鯨
在這個練習中,你會使用 "bing" 詞彙表再做一次 inner_join()。
接著,你會同時使用 dplyr 的 count() 與 tidyr 的 pivot_wider() 來整理並理解文字資料。
pivot_wider() 會把資料攤平成多個欄位。在這裡,sentiment 與對應的 n 值代表每一行中正向或負向詞彙的出現次數。使用 pivot_wider() 之後,每一列都會同時有正向與負向的數值,即使是 0 也會保留。
本練習屬於課程
R 情感分析
練習說明
在這個練習中,你的 R 工作階段已經有 m_dick_tidy(包含小說 Moby Dick)與 bing(與前一題相同的情緒詞彙表)。
- 對
m_dick_tidy與bing執行一次inner_join()。- 和之前一樣,把
m_dick_tidy中的"term"欄位與詞彙表中的"word"欄位對應連接。 - 將新物件命名為
moby_lex_words。
- 和之前一樣,把
- 建立一個
index欄位,等於將as.numeric()套用在document上。這一步在 tidyverse 的mutate()中完成。 - 透過把
moby_lex_words傳遞給count(),並傳入sentiment, index,建立moby_count。 - 透過把
moby_count管線到pivot_wider()產生moby_wide,其中names_from設為sentiment欄位、values_from設為n欄位,且以values_fill = 0補齊缺值。 - 接著使用
arrange在下一個管線中,依index的數值排序列。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Inner join
moby_lex_words <- inner_join(___, ___, by = c("___" = "___"))
moby_lex_words <- moby_lex_words %>%
# Set index to numeric document
mutate(___ = as.numeric(___))
moby_count <- moby_lex_words %>%
# Count by sentiment, index
___(___, ___)
# Examine the counts
moby_count
moby_wide <- moby_count %>%
# Pivot the sentiments
pivot_wider(names_from = ___, values_from = ___, values_fill = ___) %>%
arrange(index)
# Review the pivoted data
moby_wide