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

时间:2018-08-14 14:08:47

标签: r regex dplyr

我正在运行一个大约六个月前编写的脚本,到目前为止,该脚本运行良好。数据看起来像这样:

 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()运行的代码是

df %>% mutate(Match = stri_detect_regex(df$Speaker, df$Consonant))

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

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

请注意,我的实际代码更加复杂,在stri_detect_regex中有12条不同的命令。但这一切以前都可以正常工作,即使我只是运行代码的第一行,我也会收到此错误消息,如上面的示例代码所示。

1 个答案:

答案 0 :(得分:1)

我改用了纵梁。似乎工作正常。

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

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

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