c(df2, df1[rowSums(sapply(df1, grepl, df2)) < 1])
# [1] "State Board of Accountancy" "The State Board of Economists" "State Board of Law" "Board of Medicine"
df3
# [1] "State Board of Accountancy" "The State Board of Economists" "State Board of Law" "Board of Medicine"
演练:
-
grepl
它本身只接受单个模式,因此我们需要对每个模式进行迭代;我们用
sapply
-
从那以后(
狡猾的
)返回一个矩阵(针对所有
df2
),我们需要在一行(每个
df1
)是匹配;我们用
rowSums(.) < 1
(又名
== 0
),意思是没有匹配的;通过细分
df1[..]
在这个问题上,我们得到
df1
没有找到匹配项
更正的数据:
df1 <- c("Board of Accountancy", "Board of Economists", "Board of Medicine")
df2 <- c("State Board of Accountancy", "The State Board of Economists", "State Board of Law")
df3 <- c("State Board of Accountancy", "The State Board of Economists", "State Board of Law", "Board of Medicine")