R - 使用 tidytext 数据计数
R - Count with tidytext data
我正在使用 Gutenberg 项目中的一些弗洛伊德书籍进行文本挖掘。当我尝试使用以下代码进行情绪分析时:
library(dplyr)
library(tidytext)
library(gutenbergr)
freud_books <- gutenberg_download(c(14969, 15489, 34300, 35875, 35877, 38219, 41214), meta_fields = "title")
tidy_books <- freud_books %>%
unnest_tokens(word, text)
f_sentiment <- tidy_books %>%
inner_join(get_sentiments("bing"), by = "word") %>%
count(title, index = line %/% 80, sentiment) %>%
spread(sentiment, n, fill = 0) %>%
mutate(sentiment = positive - negative)
我收到错误:
Error in mutate_impl(.data, dots) : Evaluation error: non-numeric
argument to binary operator.
我可以看出问题出在最后一个块中,在计数函数中。有什么帮助吗?
你应该在使用 inner_join
函数后将 line
变异为你的数据,因为它不是你的数据列,所以如果你需要它,你必须自己创建它
注意mutate(line = row_number())
部分,如果你需要另一种分配行号的方式,你可以修改它,然后你可以在count
中使用index = line %/% 80
试试这个:
library(dplyr)
library(tidytext)
library(gutenbergr)
freud_books <- gutenberg_download(c(14969, 15489, 34300, 35875, 35877, 38219, 41214),
meta_fields = "title")
tidy_books <- freud_books %>%
unnest_tokens(word, text)
f_sentiment <- tidy_books %>%
inner_join(get_sentiments("bing"), by = "word") %>%
mutate(line = row_number()) %>%
count(title, index = line %/% 80, sentiment) %>%
spread(sentiment, n, fill = 0) %>%
mutate(sentiment = positive - negative)
我正在使用 Gutenberg 项目中的一些弗洛伊德书籍进行文本挖掘。当我尝试使用以下代码进行情绪分析时:
library(dplyr)
library(tidytext)
library(gutenbergr)
freud_books <- gutenberg_download(c(14969, 15489, 34300, 35875, 35877, 38219, 41214), meta_fields = "title")
tidy_books <- freud_books %>%
unnest_tokens(word, text)
f_sentiment <- tidy_books %>%
inner_join(get_sentiments("bing"), by = "word") %>%
count(title, index = line %/% 80, sentiment) %>%
spread(sentiment, n, fill = 0) %>%
mutate(sentiment = positive - negative)
我收到错误:
Error in mutate_impl(.data, dots) : Evaluation error: non-numeric argument to binary operator.
我可以看出问题出在最后一个块中,在计数函数中。有什么帮助吗?
你应该在使用 inner_join
函数后将 line
变异为你的数据,因为它不是你的数据列,所以如果你需要它,你必须自己创建它
注意mutate(line = row_number())
部分,如果你需要另一种分配行号的方式,你可以修改它,然后你可以在count
index = line %/% 80
试试这个:
library(dplyr)
library(tidytext)
library(gutenbergr)
freud_books <- gutenberg_download(c(14969, 15489, 34300, 35875, 35877, 38219, 41214),
meta_fields = "title")
tidy_books <- freud_books %>%
unnest_tokens(word, text)
f_sentiment <- tidy_books %>%
inner_join(get_sentiments("bing"), by = "word") %>%
mutate(line = row_number()) %>%
count(title, index = line %/% 80, sentiment) %>%
spread(sentiment, n, fill = 0) %>%
mutate(sentiment = positive - negative)