首页 > 解决方案 > 有没有办法过滤文本字符串以获取不喜欢模式的值?

问题描述

我想要不像字符串的东西。我看了看这个并注意到:

这适用于喜欢:

library(datasets)
library(dplyr)

msleep %>% 
  select(name, sleep_total) %>% 
  filter(str_detect(tolower(name), pattern = "mouse"))

但这不适用于不喜欢:

msleep %>% 
  select(name, sleep_total) %>% 
  filter(str_detect(tolower(name), pattern != "mouse"))

我明白了:

Error in filter_impl(.data, quo) : 
  Evaluation error: object 'pattern' not found.

有没有办法做到这一点?

标签: rregexstringdplyr

解决方案


如评论中所述,我想出了一个答案:

msleep %>% 
  select(name, sleep_total) %>% 
  filter(!str_detect(tolower(name), pattern = "mouse"))

!str_detect是这样做的方法。


推荐阅读