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
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
___(___, ___)