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