首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有tidytext数据的r-计数

带有tidytext数据的r-计数
EN

Stack Overflow用户
提问于 2018-05-03 20:50:39
回答 1查看 734关注 0票数 1

我正在研究古腾堡项目中的弗洛伊德书籍的文本挖掘。当我尝试进行情绪分析时,使用以下代码:

代码语言:javascript
复制
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)

我知道错误:

Mutate_impl中的错误(.data,dots):求值错误:二进制运算符的非数值参数.

我可以看到问题在最后一个块中,在计数函数中。对此有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-03 21:07:03

在使用line函数之后,应该将inner_join转换成数据,因为它不是数据的列,所以如果需要,就必须自己创建它

注意mutate(line = row_number())部件,如果需要另一种分配行号的方法,可以修改它,然后可以在count中使用index = line %/% 80

试试这个:

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50163659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档