有没有办法使用来自用户定义函数的参数作为grepl模式的一部分?
例如:
Function1 <- function(x, y) {
grepl(pattern = ".*\\sy", x)
}
根据你调用函数的方式,模式中的“y”会有所不同,
即:
data <- c("Joe Smith", "John Doe")
Function1(data, S)
将返回
[1] TRUE FALSE
grepl
是否有办法将y
识别为外部变量? (我在反对内部尝试'y'
\\y
和y
无效)
答案 0 :(得分:3)
模式只是一个字符串。您可以使用paste()
进行字符串连接
grepl(pattern = paste(".*\\s",y), x)
在正则表达式字符串中引用变量没有其他“特殊”方法。
答案 1 :(得分:2)
您可以使用paste0()
:
Function1 <- function(x,y) {
grepl(pattern = paste0(".*\\s",y), x)
}
Function1(data, 'S')
[1] TRUE FALSE