dplyr中使用stri_detect_regex的正则表达式存在问题

dplyr中使用stri_detect_regex的正则表达式存在问题,r,regex,dplyr,R,Regex,Dplyr,我正在运行一个脚本,这个脚本是我六个月前写的,到现在为止,它运行得非常好。数据如下所示: Speaker Consonant cat c dog g pig h cat c 我的代码应该创建一个新的列“match”,它决定说话人和目标辅音之间是否匹配: Speaker Consonant Match cat

我正在运行一个脚本,这个脚本是我六个月前写的,到现在为止,它运行得非常好。数据如下所示:

 Speaker       Consonant
  cat              c
  dog              g 
  pig              h
  cat              c
我的代码应该创建一个新的列“match”,它决定说话人和目标辅音之间是否匹配:

 Speaker       Consonant     Match
  cat              c           T
  dog              g           T
  pig              h           F
  cat              c           T
我以前使用dplyr()运行的代码是

现在,当我运行此命令时,会收到以下错误消息:

Error in mutate_impl(.data, dots) : 
      Evaluation error: Missing closing bracket on a bracket expression. (U_REGEX_MISSING_CLOSE_BRACKET).

注意,我的实际代码更复杂,stri_detect_regex中有12个不同的命令。但是,在前面,它工作得很好,即使我只运行代码的第一行,也会收到此错误消息,如上面的示例代码所示。

我使用了stringr。看起来很好用

df <- data.frame(Speaker = c("cat", "dog", "pig", "cat"),
                 Consonant = c("c", "g" , "h", "c"))

library(stringr)
df %>% mutate(Match = str_detect(Speaker, Consonant))
df%变异(匹配=str_检测(说话人,辅音))

更新:您的代码也适用于我的stringi

您真的需要那里的
df$
吗?而且,它适用于我。你知道你应该做
library(stringi)
对我也有用。@AntoniosK也许你是对的。使用
stri\u detect\u regex(“abc[def]”,“[”)
stri\u detect\u regex(“abc[def]”,“\\[””)
可以重现操作错误。因此,我猜在大数据集中的某个地方,
Consonant
列中有一个
[/code>值。或者类似的东西……这是一个更简洁的代码版本-将更改它,谢谢!
df <- data.frame(Speaker = c("cat", "dog", "pig", "cat"),
                 Consonant = c("c", "g" , "h", "c"))

library(stringr)
df %>% mutate(Match = str_detect(Speaker, Consonant))