首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有管道的tidytext示例过滤器错误

带有管道的tidytext示例过滤器错误
EN

Stack Overflow用户
提问于 2016-11-16 15:08:31
回答 2查看 524关注 0票数 1

当试图复制http://tidytextmining.com/twitter.html中的示例时,会出现一个问题。

基本上,我想修改代码的这一部分

代码语言:javascript
复制
library(tidytext)
library(stringr)

reg <- "([^A-Za-z_\\d#@']|'(?![A-Za-z_\\d#@]))"

tidy_tweets <- tweets %>% 
    mutate(text = str_replace_all(text, "https://t.co/[A-Za-z\\d]+|http://[A-Za-z\\d]+|&amp;|&lt;|&gt;|RT", "")) %>%
    unnest_tokens(word, text, token = "regex", pattern = reg) %>%
    filter(!word %in% stop_words$word,
        str_detect(word, "[a-z]"))

为了保存stop_Word包含的tweet数据。

所以我试了一下:

代码语言:javascript
复制
tidy_tweets <- tweets %>% 
    mutate(text = str_replace_all(text, "https://t.co/[A-Za-z\\d]+|http://[A-Za-z\\d]+|&amp;|&lt;|&gt;|RT", "")) %>%
    unnest_tokens(word, text, token = "regex", pattern = reg) 

tidy_tweets_sw <- filter(!word %in% stop_words$word, str_detect(tidy_tweets, "[a-z]"))

但是,当我收到以下错误消息时,这是行不通的:

代码语言:javascript
复制
Error in match(x, table, nomatch = 0L) :  
'match' requires vector arguments

我试图传递两个输入的向量版本来匹配,但都没有效果。有人有更好的主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-16 15:52:42

不确定,但我认为你的问题在这里:

代码语言:javascript
复制
tidy_tweets_sw <- filter(!word %in% stop_words$word, str_detect(tidy_tweets, "[a-z]"))

filter完全不知道您想要过滤什么,这应该是可行的:

代码语言:javascript
复制
tidy_tweets_sw <- tidy_tweets %>% filter(!word %in% stop_words$word, str_detect(tidy_tweets, "[a-z]"))
票数 1
EN

Stack Overflow用户

发布于 2016-11-16 15:46:57

您需要将filter语句中的数据作为第一个参数。

代码语言:javascript
复制
tidy_tweets <- tweets %>% 
  mutate(text = str_replace_all(text, "https://t.co/[A-Za-z\\d]+|http://[A-Za-z\\d]+|&amp;|&lt;|&gt;|RT", "")) %>%
  unnest_tokens(word, text, token = "regex", pattern = reg) 

tidy_tweets_sw <- filter(tidy_tweets, !(word %in% stop_words$word), str_detect(tidy_tweets, "[a-z]"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40635529

复制
相关文章

相似问题

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