MulaiMulai sekarang secara gratis

AFINN: I'm your Huckleberry

Sekarang kita beralih ke leksikon AFINN. Leksikon AFINN memiliki nilai numerik dari 5 hingga -5, tidak hanya positif atau negatif. Berbeda dengan kolom sentiment pada leksikon Bing, kolom skor sentimen pada leksikon AFINN bernama value.

Seperti sebelumnya, Anda menerapkan inner_join() lalu count(). Selanjutnya, untuk menjumlahkan skor tiap baris, kita gunakan fungsi group_by() dan summarize() dari dplyr. Fungsi group_by() mengambil data frame yang ada dan mengubahnya menjadi data frame berkelompok sehingga operasi dilakukan "per grup". Kemudian, fungsi summarize() memungkinkan Anda menghitung sebuah nilai untuk setiap grup di data frame menggunakan fungsi yang mengagregasi data, seperti sum() atau mean(). Jadi, dalam kasus kita, kita dapat melakukan sesuatu seperti

data_frame %>% 
    group_by(book_line) %>% 
    summarize(total_value = sum(book_line))

Dalam versi tidy dari Huckleberry Finn, baris 9703 memuat kata "best", "ever", "fun", "life" dan "spirit". "best" dan "fun" memiliki skor AFINN masing-masing 3 dan 4. Setelah diagregasi, baris 9703 akan memiliki skor total 7.

Di tidyverse, filter() lebih disukai daripada subset() karena menggabungkan fungsionalitas subset() dengan sintaks yang lebih sederhana. Berikut contoh yang melakukan filter() pada data_frame ketika suatu nilai di column1 sama dengan 24. Perhatikan nama kolom tidak menggunakan tanda kutip.

filter(data_frame, column1 == 24)

Objek afinn berisi leksikon AFINN. Objek huck adalah versi tidy dari Adventures of Huckleberry Finn karya Mark Twain untuk keperluan analisis.

Baris 5400 adalah All the loafers looked glad; I reckoned they was used to having fun out of Boggs. Stopword dan tanda baca telah dihapus dari himpunan data.

Latihan ini adalah bagian dari kursus

Analisis Sentimen di R

Lihat Kursus

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# See abbreviated line 5400
huck %>% filter(line == 5400)

# What are the scores of the sentiment words?
afinn %>% filter(word %in% c("fun", "glad"))

huck_afinn <- huck %>% 
  # Inner Join to AFINN lexicon
  inner_join(___, by = c("___" = "___")) %>%
  # Count by value and line
  ___(___, ___)
Edit dan Jalankan Kode