子集不是基于完全匹​​配,而是基于R的部分

use*_*594 5 regex substring r

这是一个后续问题: 根据前缀和后缀子集字符串

当你有这个命令时:

    d <- subset(b, b$X %in% test)  
Run Code Online (Sandbox Code Playgroud)

此命令查找b$X完全匹配测试的所有内容.我怎样才能操纵它来说明它b$X包含的值test
即如果b$X有价值"something"并且test"thing".然后我会认为这是一场比赛.

重要更新!测试有512个值,不仅如示例中的1.

Sve*_*ein 11

您可以替换%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
Run Code Online (Sandbox Code Playgroud)

完成任务的整个命令:

d <- subset(b, grepl(paste(test, collapse= "|"), b$X))
Run Code Online (Sandbox Code Playgroud)

"|"装置的逻辑正则表达式.