เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

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
  • สร้างคอลัมน์ index ซึ่งมีค่าเท่ากับการนำ as.numeric() ไปใช้กับ document โดยทำภายใน mutate() ตามแนวทาง tidyverse
  • สร้าง moby_count โดยส่ง moby_lex_words ต่อไปยัง count() พร้อมส่ง sentiment, index เป็นอาร์กิวเมนต์
  • สร้าง moby_wide โดย pipe moby_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
แก้ไขและรันโค้ด