НачатьНачать бесплатно

Полярность в стиле Bing tidy: подсчёт и разворот данных

В этом упражнении вы применените ещё один inner_join() с использованием лексикона "bing".

Затем вы обработаете результаты с помощью count() из dplyr и pivot_wider() из tidyr, чтобы глубже изучить текст.

Функция pivot_wider() распределяет данные по нескольким столбцам. В данном случае тональность и соответствующие значения n отражают частоту положительных или отрицательных слов в каждой строке. Применение pivot_wider() преобразует данные так, что каждая строка получает значения для положительной и отрицательной тональности, даже если они равны 0.

Это упражнение является частью курса

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

Посмотреть курс

Инструкции к упражнению

В этом упражнении в вашей R-сессии доступны m_dick_tidy — набор данных с текстом книги Moby Dick — и bing, содержащий лексикон, аналогичный предыдущему упражнению.

  • Выполните inner_join() для m_dick_tidy и bing.
    • Как и прежде, соедините столбец "term" из m_dick_tidy со столбцом "word" лексикона.
    • Сохраните результат в объект moby_lex_words.
  • Создайте столбец index, равный результату применения as.numeric() к document. Это выполняется внутри mutate() в tidyverse.
  • Создайте moby_count, передав moby_lex_words в count() с аргументами sentiment, index.
  • Создайте moby_wide, передав moby_count в pivot_wider(), где names_from равно столбцу sentiment, values_from равно столбцу n, а пропущенные значения заполняются с помощью values_fill = 0.
  • Следующий шаг в цепочке — arrange, который упорядочивает строки по значениям index.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Inner join
moby_lex_words <- inner_join(___, ___, by = c("___" = "___"))

moby_lex_words <- moby_lex_words %>%
  # Set index to numeric document
  mutate(___ = as.numeric(___))

moby_count <- moby_lex_words %>%
  # Count by sentiment, index
  ___(___, ___)

# Examine the counts
moby_count

moby_wide <- moby_count %>%
  # Pivot the sentiments
  pivot_wider(names_from = ___, values_from = ___, values_fill = ___) %>% 
  arrange(index)

# Review the pivoted data
moby_wide
Редактировать и запускать код