这是来自这里的后续问题:
Subsetting a string based on pre- and suffix
当您有此命令时:
d <- subset(b, b$X %in% test)
该命令在
b$X
中查找与test完全匹配的所有内容。我如何操纵它以至于足以使b$X
中的值包含test
?IE。如果
b$X
的值为"something"
,而test
的值为"thing"
。然后,我认为这是一场比赛。重要更新!测试具有512个值,而不是示例中的1个值。
最佳答案
您可以将%in%
替换为grepl
:
# examples
x <- c("thing", "something", "some", "else")
test <- c("thing", "some")
# exact match
x %in% test
# [1] TRUE FALSE TRUE FALSE
# substring match (regex)
pattern <- paste(test, collapse = "|") # create regex pattern
grepl(pattern, x)
# [1] TRUE TRUE TRUE FALSE
您的任务的整个命令:
d <- subset(b, grepl(paste(test, collapse= "|"), b$X))
"|"
表示逻辑或正则表达式。关于regex - 子集不是基于完全匹配,而是R中的部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21408410/