DTM vs. matriks tidytext
The tidyverse adalah kumpulan paket R yang berbagi filosofi umum dan dirancang untuk bekerja bersama. Bab ini membahas beberapa fungsi tidy untuk memanipulasi data. Pada latihan ini Anda akan membandingkan DTM dengan kerangka data teks tidy yang disebut tibble.
Di dalam tidyverse, setiap observasi adalah satu baris dalam kerangka data. Hal itu membuat bekerja di berbagai paket jauh lebih mudah karena struktur data dasarnya sama. Bagian dari kursus ini banyak meminjam dari paket tidytext yang menggunakan organisasi data tersebut.
Sebagai contoh, Anda mungkin sudah mengenal operator %>% dari paket magrittr. Operator ini meneruskan sebuah objek di sisi kiri sebagai argumen pertama dari fungsi di sisi kanan.
Pada contoh di bawah, Anda meneruskan objek data ke function1(). Perhatikan bahwa tanda kurungnya kosong. Hasil ini kemudian diteruskan ke function2(). Pada fungsi terakhir Anda tidak perlu menambahkan objek data karena sudah diteruskan dari keluaran function1(). Namun, Anda menambahkan parameter fiktif, some_parameter sebagai TRUE. Rangkaian pipe ini pada akhirnya membuat object.
object <- data %>%
function1() %>%
function2(some_parameter = TRUE)
Untuk menggunakan operator %>%, Anda tidak selalu perlu memuat paket magrittr, karena operator ini juga tersedia di paket dplyr.
dplyr juga berisi fungsi inner_join() (yang akan Anda pelajari lebih lanjut nanti) dan count() untuk menghitung data. Fungsi terakhir yang Anda perlukan adalah mutate() untuk membuat variabel baru atau memodifikasi yang sudah ada.
object <- data %>%
mutate(new_Var_name = Var1 - Var2)
atau untuk memodifikasi sebuah variabel
object <- data %>%
mutate(Var1 = as.factor(Var1))
Anda juga akan menggunakan fungsi pivot_wider() dari tidyr untuk menata data sehingga setiap baris adalah satu kalimat dari buku dan nilai positif serta negatif menjadi kolom.
| index | negative | positive |
|---|---|---|
| 42 | 2 | 0 |
| 43 | 0 | 1 |
| 44 | 1 | 0 |
Untuk mengubah DTM ke format tidy gunakan tidy() dari paket broom.
tidy_format <- tidy(Document_Term_Matrix)
Latihan ini menggunakan teks dari tragedi Yunani, Agamemnon. Agamemnon adalah kisah tentang perselingkuhan dan pembunuhan dalam rumah tangga. Anda dapat mengunduh salinannya di sini.
Latihan ini adalah bagian dari kursus
Analisis Sentimen di R
Petunjuk latihan
Kami telah membuat DTM yang sudah dibersihkan bernama ag_dtm untuk latihan ini.
- Buat
ag_dtm_mdengan menerapkanas.matrix()padaag_dtm. - Dengan tanda kurung siku,
[dan], indekslahag_dtm_mke baris2206. - Terapkan
tidy()padaag_dtm. Beri nama objek baru tersebutag_tidy. - Periksa
ag_tidypada baris[831:835, ]untuk membandingkan format tidy. Anda akan melihat sebuah kata yang sama dari bagianag_dtm_myang diperiksa pada langkah 2.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# As matrix
ag_dtm_m <- ___
# Examine line 2206 and columns 245:250
ag_dtm_m[___, 245:250]
# Tidy up the DTM
ag_tidy <- ___
# Examine tidy with a word you saw
ag_tidy[___, ]