样本数据
files.in.path = c("a.4.0. name 2015 - NY.RDS",
"b.4.0. name 2016 - CA.RDS",
"c.4.0. name 2015 - PA.RDS")
strings.to.find = c("4.0", "PA")
我想要显示所有包含所有元素的逻辑向量strings.to.find
。想要的结果:
FALSE FALSE TRUE
此代码将查找包含任何一个的元素strings.to.find
,即使用 OR 运算符
str_detect(files.in.path, str_c(strings.to.find, collapse="|")) # OR operator
TRUE TRUE TRUE
此代码尝试使用 AND 运算符但不起作用。
str_detect(files.in.path, str_c(strings.to.find, collapse="&")) # AND operator
FALSE FALSE FALSE
这在多行中有效,我可以编写一个for
循环,为具有大量数据的情况生成所有单独的行strings.to.find
det.1 = str_detect(files.in.path, "4.0" )
det.2 = str_detect(files.in.path, "PA" )
det.all = det.1 & det.2
FALSE FALSE TRUE
但是有没有更好的方法不涉及使用依赖于strings.to.find
.