ПочатиПочніть безкоштовно

DTM проти матриці tidytext

tidyverse — це набір пакетів R із спільною філософією, які розроблено для спільної роботи. У цьому розділі розглядаються деякі функції tidy для обробки даних. У цій вправі ви порівняєте DTM з «tidy» текстовим датафреймом, який називається tibble.
У межах tidyverse кожне спостереження — це окремий рядок у датафреймі. Це значно спрощує роботу в різних пакетах, адже базова структура даних однакова. Частину цього курсу значною мірою запозичено з пакета tidytext, який використовує таку організацію даних.

Наприклад, ви вже можете знати оператор %>% із пакета magrittr. Він передає об'єкт ліворуч як перший аргумент функції праворуч.

У наведеному нижче прикладі ви передаєте об'єкт data до function1(). Зверніть увагу, що дужки порожні. Далі результат передається до function2(). У останній функції вам не потрібно додавати об'єкт data, бо його передано з виходу function1(). Проте ви додаєте умовний параметр some_parameter зі значенням TRUE. Ці послідовні передавання через пайп у підсумку створюють object.

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

Щоб використовувати оператор %>%, не обов'язково завантажувати пакет magrittr, адже він також доступний у пакеті dplyr. dplyr також містить функції inner_join() (про яку ви дізнаєтеся далі) і count() для підрахунку даних. Остання потрібна вам функція — це mutate() для створення нових змінних або зміни наявних.

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

або щоб змінити змінну

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

Ви також використаєте функцію pivot_wider() з пакета tidyr, щоб упорядкувати дані так, щоб кожен рядок відповідав рядку з книги, а значення для позитивних і негативних — були стовпцями.

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

Щоб перетворити DTM у «tidy»-формат, скористайтеся tidy() з пакета broom.

tidy_format <- tidy(Document_Term_Matrix)

У цій вправі використано текст із грецької трагедії «Агамемнон». «Агамемнон» — це історія про подружню зраду та вбивство. Ви можете завантажити примірник тут.

Ця вправа є частиною курсу

Аналіз тональності в R

Переглянути курс

Інструкції до вправи

Ми вже створили очищений DTM під назвою ag_dtm для цієї вправи.

  • Створіть ag_dtm_m, застосувавши as.matrix() до ag_dtm.
  • За допомогою дужок [ і ] проіндексуйте ag_dtm_m на рядок 2206.
  • Застосуйте tidy() до ag_dtm. Назвіть новий об'єкт ag_tidy.
  • Перегляньте ag_tidy у рядках [831:835, ], щоб порівняти «tidy»-формат. Ви побачите спільне слово з розглянутої частини ag_dtm_m у кроці 2.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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[___, ]
Редагувати та запускати код