построение графика для комментариев к опросу в ggplot2 - ошибка метки - PullRequest
0 голосов
/ 22 мая 2018

Я только начинаю использовать R для интеллектуального анализа текста и столкнулся с проблемой.

Я успешно наметил tf_idf для отдельных слов в моем наборе данных, который включает в себя 3 разных столбца (положительный, отрицательный и банковский)) - имя столбца 'Box'.

Я пытаюсь сделать то же самое для биграмм и триграмм и использую тот же код:

Trigram_tibble %>%
  arrange(desc(tf_idf)) %>%
  mutate(trigram = factor(trigram, levels = rev(unique(trigram)))) %>% 
  group_by(Box) %>% 
  top_n(10, tf_idf) %>% 
  ungroup %>%
  ggplot(aes(trigram, tf_idf, fill = Box)) +
  geom_col(show.legend = FALSE) +
  labs(x = NULL, y = "tf-idf") +
  facet_wrap(~Box, ncol = 2, scales = "free") +
  coord_flip()

Я обнаружил (я думаю), чтофункция 'top_n' возвращает триграммы, которые имеют верхнее ранжирование, и что она автоматически использует последнюю переменную в таблице (в моем случае это tf_idf, и я выбрал n-10).Однако, выполняя это для биграмм, я могу создавать только диаграммы, которые, кажется, имеют несколько сотен (тысяч ??) биграмм вдоль оси y.

tf-idf grouped by variable

На рисунке вы можете видеть, что отрицательная переменная выглядит нормально (я отредактировал ее для защиты данных), но другие два не!

Первоначально я взял этот код из книги интеллектуального анализа текста.

РЕДАКТИРОВАТЬ - ДОБАВИТЬ ОБРАЗЕЦ ДАННЫХ

пример данных

Моя лучшая догадкаТеперь есть то, что оценки 'top_n' tf_idf имеют много одинаковых значений.В этом случае я теперь не уверен, что это полезный расчет, и мне интересно, почему он так хорошо работал в аккуратном учебнике, но не для моих данных.

РЕДАКТИРОВАТЬ 2

Я сократил Trigram_tibble до 50 наблюдений, и это вывод dput (Trigram_tibble) (я скрыл текстовые триграммы ответов на опрос)

a <-Trigram_tibble [1:50, 1: 8] структура dput (a) (список (Респондент = c (1294L, 2693L, 42L, 463L, 463L, 1481L, 1706L, 1891L, 1917L, 2442L, 2693L, 3590L, 3590L, 3916L, 4454L, 4682L, 5996L, 6283L), 6283L, 6568L, 9101L, 2L, 3L, 4L, 4L, 4L, 8L, 12L, 12L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 18L, 18L, 18L, 18L, 20L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L), Box = c («Положительный», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Банк», «Положительный»"," Отрицательный "," Отрицательный "," Отрицательный "," Банк "," Банк "," Отрицательный "," Положительный "," Отрицательный "," Отрицательный "," Отрицательный "," Отрицательный "," Отрицательный ",«Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «N«отрицательный», «отрицательный», «банк», «банк», «отрицательный», «отрицательный», «отрицательный», «отрицательный», «отрицательный», «положительный», «положительный», «положительный», «отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Банк», «Банк», «Банк», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный», «Отрицательный»),триграмма = c («ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх»"," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx ",«ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «хххххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх »,« ххх ххх ххх"," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx "," xxx xxx xxx ",«ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «ххх ххх ххх», «хххxxx xxx "," xxx xxx xxx "," xxx xxx xxx "), n = c (4L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), всего = c (1714L, 2899L, 2899L, 2899L, 2899L, 2899L, 836L, 1714L, 2899L, 2899L, 2899L, 836L,836L, 2899L, 1714L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 836L, 836L, 2899L, 2899L, 2899L, 2899L, 2899L, 1714L, 1714L, 1714L, 1714L2899L, 2899L, 2899L, 2899L, 2899L, 836L, 836L, 836L, 2899L, 2899L, 2899L, 2899L, 2899L), tf = c (0,00233372228704784,0,00103483959986202, 0,000689893066574681, 0,000689893066574681, 0,000689893066574681, 0,000689893066574681, 0,00239234449760766, 0,00116686114352392, +0,000689893066574681, 0,000689893066574681, 0,000689893066574681, 0,00239234449760766, 0,00239234449760766, +0,000689893066574681, +0,00116686114352392, 0,000689893066574681, +0,000689893066574681, +0,000689893066574681, +0,000689893066574681, 0,000689893066574681, 0,000689893066574681, 0,00034494653328734, +0,00034494653328734, 0,00034494653328734, +0,00034494653328734, +0,00034494653328734,0,00034494653328734, +0,00119617224880383, 0,00119617224880383, 0,00034494653328734, +0,00034494653328734, 0,00034494653328734, +0,00034494653328734, +0,00034494653328734, +0,00058343057176196, 0,00058343057176196, +0,00058343057176196, +0,00034494653328734, +0,00034494653328734, +0,00034494653328734, 0,00034494653328734, 0,00034494653328734, +0,00119617224880383, 0,00119617224880383, +0,00119617224880383, +0,00034494653328734, +0,00034494653328734, +0,00034494653328734,0.00034494653328734, +0,00034494653328734), IDF = с (-2.07944154167984, 0.405465108108164, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 0, 1.09861228866811, 1.09861228866811, 1.09861228866811, -2.07944154167984, 0.405465108108164, 1.09861228866811, -0.693147180559945, 1.09861228866811, 1.09861228866811, 0, 1.09861228866811, 1.09861228866811,-1,29928298413026, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, +1,09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811), tf_idf = c (-0.00485283907043135, 0.0004195913502326000 005871, +0,000757925000805871, 0,000757925000805871, +0,000757925000805871, 0, +0,0012819279914447, +0,000757925000805871, -0,00143459230195228, +0,000757925000805871, 0,00097001222035446, +0,00262825906379931, -0,000478197433984095, +0,0012819279914447, 0,000757925000805871, 0, +0,000757925000805871, +0,000757925000805871, -0,000896366322269928, +0,000757925000805871, +0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,00131412953189965, 0,00131412953189965, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, +0,000378962500402935, +0,000378962500402935, 0,000640963995722351, +0,000640963995722351, 0,000640963995722351, +0,000378962500402935, +0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,00131412953189965, 0,00131412953189965, 0,00131412953189965, +0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935, 0,000378962500402935)), строка.names = c (NA, -50L), class = c ("tbl_df", "tbl", "data.frame")) </p>

...