我有一组字符串,如“联合王国”、“美国”、“中国”、“印度”等字符串必须与上面的字符串集合进行比较,并且可以组合以上字符串的多个值。
例如:
String1 <- "China"
String2 <- "United States|China"
String3 <- "United States|India|China"
SetoFStrings <- c("United Kingdom","United States","China","India")因此,在所有情况下,当将String1、String2、String3与SetofStrings进行比较时,结果值必须为true。这是怎么做到的?
发布于 2017-05-24 06:16:08
我们可以将any与grepl结合使用
any(grepl(String1, SetoFStrings))
#[1] TRUE
any(grepl(String2, SetoFStrings))
#[1] TRUE
any(grepl(String3, SetoFStrings))
#[1] TRUE如果目标是创建'String's,如输入post中所示
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) https://stackoverflow.com/questions/44150319
复制相似问题