我有“英国”,“美国”,“中国”,“印度”等字符集, 和其他字符串必须与上面的字符串集进行比较,并且可以将上述字符串集合的多个值组合为“|”
例如:
String1 <- "China"
String2 <- "United States|China"
String3 <- "United States|India|China"
SetoFStrings <- c("United Kingdom","United States","China","India")
所以在所有情况下,当String1,String2,String3与SetofStrings进行比较时,Result值必须为true。怎么做呢
答案 0 :(得分:1)
我们可以将any
与grepl
any(grepl(String1, SetoFStrings))
#[1] TRUE
any(grepl(String2, SetoFStrings))
#[1] TRUE
any(grepl(String3, SetoFStrings))
#[1] TRUE
如果目标是在输入帖子中创建'字符串
sapply(dat2$Strings, function(pat) any(grepl(pat, SetoFStrings)))
dat1 <- data.frame(Col1 = c('China', 'UnitedStates', 'India'), stringsAsFactors= FALSE)
dat2 <- data.frame(Strings = Reduce(function(...) paste(..., sep="|"),
dat1$Col1, accumulate = TRUE), stringsAsFactors=FALSE)