我有一个用户数据框,其中一列包含他们自我报告的位置。因此,报告的某些位置是无意义的,但在将此列与已知位置的其他列匹配时可能会导致误报。以下是数据框的示例。
data <- data.frame(X = (1:5), Y = c("", "Washington, DC", "Huntsville, AL", "Mobile,AL", "ALL OVER"))
Run Code Online (Sandbox Code Playgroud)
有了这些数据,我然后运行下面的代码来建立与AL.
library(stringr)
data$match_ab <- str_extract(data[,2], str_c("AL", collapse = "|"))
Run Code Online (Sandbox Code Playgroud)
这导致 Huntsville 和 Mobile 被正确识别为正数,但ALL OVER由于AL字符串内的,第三个匹配项错误地识别为匹配项。
有没有办法调整这个脚本,以便它检测string s 中的匹配项,同时忽略将字母附加到字符串所需部分的字符串?换句话说,AL如果字母与字符串相邻,这是否可以检测到部分字符串的两侧可能有空格或标点符号而忽略匹配项?
提前致谢。