#r #correlation #text-mining #r-corrplot
#r #корреляция #интеллектуальный анализ текста #r-corrplot
Вопрос:
Мой набор данных — обзоры ресторанов Yelp, и я хотел бы посмотреть, есть ли способ создать график корреляции между словами и звездными рейтингами с помощью пакета corrplot.
Я создал Z ниже, содержащий звездный рейтинг, количество слов (n) и word. Я не уверен, куда идти дальше, потому что я знаю, что не могу напрямую использовать переменную word в графике корреляции, поскольку это символ, а не фактор. Если бы я просто делал корреляцию между n и звездами, это на самом деле не дает мне никакой полезной информации. Есть какие-либо мысли о том, как я мог бы найти корреляцию между словом и звездами?
Z <- ws %>% select(n, stars, word)
Z
# A tibble: 39,322 x 3
# Groups: stars [5]
n stars word
<int> <int> <chr>
1 7841 5 food
2 6046 4 food
3 4027 5 service
4 3741 3 food
5 3133 1 food
6 3046 4 service
7 2837 5 delicious
8 2832 2 food
9 2803 5 love
10 2785 5 time
# … with 39,312 more rows
Комментарии:
1. Вы можете преобразовать в
factor
withfactor
или `as.factor2. Я не думаю, что корреляция может быть приемлемой для этих данных, вы приводите какое-то слово к числу, может быть, тау-кендалл мог бы быть лучше, но опять же вы предполагаете что-то сильное. Могу ли я посоветовать что-то вроде этого, глядя, что вы находитесь в tidyverse:
Z %>% group_by(stars, word) %>% summarise(summed = sum(n))%>% ggplot(aes (x = stars, y = word, fill = summed)) geom_tile()
?3. @akrun У меня была такая мысль, но у меня это не работает. Если я введу как. фактор (слово) Я получаю errorrror «в unique. по умолчанию (x, nmax = nmax): unique() применяется только к векторам» Я также попробовал Z <- ws %>% select(n, stars, as.factor(word)) и получил ошибку «Ошибка: unique() применяется только к векторам»
4.
Z <- ws %>% select(n, word) %>% mutate(word = as.factor(word))
иметь в качестве фактора.