BaşlayınÜcretsiz Başlayın

DTM vs. tidytext matrisi

tidyverse, ortak bir felsefeyi paylaşan ve birlikte çalışacak şekilde tasarlanmış R paketlerinden oluşur. Bu bölümde veriyi dönüştürmek için bazı tidy işlevlerini göreceksin. Bu egzersizde bir DTM ile tibble adı verilen tidy bir metin veri çerçevesini karşılaştıracaksın.
Tidyverse içinde, her gözlem veri çerçevesinde tek bir satırdır. Bu, temel veri yapısı aynı olduğundan farklı paketlerle çalışmayı çok daha kolay hale getirir. Bu dersin bazı kısımları, bu veri örgütlenmesini kullanan tidytext paketinden yoğun biçimde yararlanır.

Örneğin, magrittr paketinden %>% operatörüne zaten aşina olabilirsin. Bu operatör, solundaki nesneyi sağındaki fonksiyonun ilk argümanı olarak iletir.

Aşağıdaki örnekte, data nesnesini function1()'e iletiyorsun. Parantezlerin boş olduğuna dikkat et. Bu çıktı daha sonra function2()'ye iletilir. Son fonksiyonda data nesnesini eklemene gerek yoktur çünkü function1()'in çıktısından aktarılmıştır. Ancak, örnek bir parametre olan some_parameterTRUE olarak eklersin. Bu pipe aktarımı sonunda object oluşturulur.

object <- data %>% 
           function1() %>%
           function2(some_parameter = TRUE)

%>% operatörünü kullanmak için mutlaka magrittr paketini yüklemen gerekmez; çünkü dplyr paketi içinde de mevcuttur. dplyr ayrıca (daha sonra daha çok öğreneceğin) inner_join() ve verileri saymak için count() işlevlerini de içerir. İhtiyacın olacak son işlev ise yeni değişkenler oluşturmak veya var olanları düzenlemek için mutate().

object <- data %>%
  mutate(new_Var_name = Var1 - Var2)

ya da bir değişkeni dönüştürmek için

object <- data %>%
  mutate(Var1 = as.factor(Var1))

Ayrıca, veriyi her satırı kitaptan bir satır olacak şekilde ve pozitif ile negatif değerler sütunlar olacak biçimde düzenlemek için tidyr'ın pivot_wider() işlevini kullanacaksın.

index negative positive
42 2 0
43 0 1
44 1 0

Bir DTM'i tidy formata çevirmek için broom paketindeki tidy() işlevini kullan.

tidy_format <- tidy(Document_Term_Matrix)

Bu egzersizdeki metin, Yunan trajedisi olan Agamemnon'dan alınmıştır. Agamemnon, evlilikte sadakatsizlik ve cinayet üzerine bir hikâyedir. Bir kopyasını buradan indirebilirsin.

Bu egzersiz

R ile Duygu Analizi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

Bu egzersiz için önceden temizlenmiş bir DTM olan ag_dtm'yi oluşturduk.

  • ag_dtm'ye as.matrix() uygulayarak ag_dtm_m oluştur.
  • Köşeli parantezleri [ ve ] kullanarak ag_dtm_m'de 2206 numaralı satırı indeksle.
  • tidy()'yi ag_dtm'ye uygula. Yeni nesneyi ag_tidy olarak adlandır.
  • Tidy formatı karşılaştırmak için ag_tidy'yi [831:835, ] satırlarında incele. 2. adımda ag_dtm_m'de incelediğin bölümdeki ortak bir kelimeyi burada da göreceksin.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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[___, ]
Kodu Düzenle ve Çalıştır