r - R情绪分析;找不到“词典”;“感情”受损?
问题描述
我正在尝试遵循这个关于情绪分析的在线教程。编码:
new_sentiments <- sentiments %>% #From the tidytext package
filter(lexicon != "loughran") %>% #Remove the finance lexicon
mutate( sentiment = ifelse(lexicon == "AFINN" & score >= 0, "positive",
ifelse(lexicon == "AFINN" & score < 0,
"negative", sentiment))) %>%
group_by(lexicon) %>%
mutate(words_in_lexicon = n_distinct(word)) %>%
ungroup()
生成错误:
>Error in filter_impl(.data, quo) :
>Evaluation error: object 'lexicon' not found.
相关的,也许对我来说,“情绪”表的行为很奇怪(损坏了?)。这是“情绪”的负责人:
> head(sentiments,3)
> element_id sentence_id word_count sentiment
> chapter
> 1 1 1 7 0 The First Book of Moses:
> Called Genesis
> 2 2 1 NA 0 The First Book of Moses:
> Called Genesis
> 3 3 1 NA 0 The First Book of Moses: >
> Called Genesis
> category
> 1 The First Book of Moses: Called Genesis
> 2 The First Book of Moses: Called Genesis
> 3 The First Book of Moses: Called Genesis
但是,如果我将 Get_Sentiments 用于 bing、AFINN 或 NRC,我会得到看起来合适的响应:
> get_sentiments("bing")
> # A tibble: 6,788 x 2
> word sentiment
> <chr> <chr> > 1 2-faced negative
> 2 2-faces negative
> 3 a+ positive
> 4 abnormal negative
我尝试删除(remove.packages)并重新安装tidytext;行为没有改变。我正在运行 R 3.5
即使我完全误解了这个问题,我也会感谢任何人能给我的任何见解。
解决方案
以下说明将修复new_sentiments
数据集,如数据营教程中所示。
bing <- get_sentiments("bing") %>%
mutate(lexicon = "bing",
words_in_lexicon = n_distinct(word))
nrc <- get_sentiments("nrc") %>%
mutate(lexicon = "nrc",
words_in_lexicon = n_distinct(word))
afinn <- get_sentiments("afinn") %>%
mutate(lexicon = "afinn",
words_in_lexicon = n_distinct(word))
new_sentiments <- bind_rows(bing, nrc, afinn)
names(new_sentiments)[names(new_sentiments) == 'value'] <- 'score'
new_sentiments %>%
group_by(lexicon, sentiment, words_in_lexicon) %>%
summarise(distinct_words = n_distinct(word)) %>%
ungroup() %>%
spread(sentiment, distinct_words) %>%
mutate(lexicon = color_tile("lightblue", "lightblue")(lexicon),
words_in_lexicon = color_bar("lightpink")(words_in_lexicon)) %>%
my_kable_styling(caption = "Word Counts per Lexicon")
随后的图表也将起作用!
推荐阅读
- javascript - 尝试使用 eventListener 生成数字
- bash - shell脚本中shell命令中的变量无法解析
- angular - Angular:导航路由器无法正常工作
- javascript - 如何在 Angular 中设置 DfxParser
- php - PHP - 使用 foreach 显示二维数组
- html - 如何固定网页的一部分?
- python - 如何将几乎相同的值合并到字典中?
- java - 使用 java.net.HttpURLConnection 作为参数文件的 POST 文件(作为二进制流)=
- php - 动态保存数据php
- javascript - Bootstrap-vue 多选数据绑定:无限循环