Bing tidy polarity: นับและ pivot ข้อมูลวาฬขาว
ในแบบฝึกหัดนี้ จะใช้ inner_join() กับ lexicon "bing" อีกครั้ง
จากนั้นจะจัดการผลลัพธ์ด้วย count() จาก dplyr และ pivot_wider() จาก tidyr เพื่อทำความเข้าใจข้อมูลข้อความ
ฟังก์ชัน pivot_wider() จะกระจายข้อมูลออกเป็นหลายคอลัมน์ ในกรณีนี้ ค่า sentiment และค่า n ที่สอดคล้องกันจะแสดงความถี่ของคำเชิงบวกหรือเชิงลบในแต่ละบรรทัด การใช้ pivot_wider() จะปรับโครงสร้างข้อมูลให้แต่ละแถวมีทั้งค่าบวกและค่าลบ แม้ว่าค่านั้นจะเป็น 0 ก็ตาม
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ความรู้สึกใน R
คำแนะนำการฝึกหัด
ในแบบฝึกหัดนี้ R session มีตัวแปร m_dick_tidy ซึ่งเก็บข้อมูลหนังสือ Moby Dick และ bing ซึ่งเก็บ lexicon เช่นเดียวกับแบบฝึกหัดก่อนหน้า
- ทำ
inner_join()ระหว่างm_dick_tidyกับbing- เช่นเดิม ให้ join คอลัมน์
"term"ในm_dick_tidyกับคอลัมน์"word"ใน lexicon - ตั้งชื่อออบเจ็กต์ใหม่ว่า
moby_lex_words
- เช่นเดิม ให้ join คอลัมน์
- สร้างคอลัมน์
indexซึ่งมีค่าเท่ากับการนำas.numeric()ไปใช้กับdocumentโดยทำภายในmutate()ตามแนวทาง tidyverse - สร้าง
moby_countโดยส่งmoby_lex_wordsต่อไปยังcount()พร้อมส่งsentiment, indexเป็นอาร์กิวเมนต์ - สร้าง
moby_wideโดย pipemoby_countไปยังpivot_wider()โดยกำหนดnames_fromเป็นคอลัมน์sentiment,values_fromเป็นคอลัมน์nและเติมค่าว่างด้วยvalues_fill = 0 - ใช้
arrangeเป็น pipe ถัดไปเพื่อเรียงแถวตามค่าของ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