[英]Using function argument inside grepl pattern (R)
有沒有一種方法可以將用戶定義函數中的參數用作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
,沒有任何效果)
模式只是一個字符串。 您可以使用paste()
進行字符串連接
grepl(pattern = paste(".*\\s",y), x)
在正則表達式字符串中沒有其他“特殊”方式來引用變量。
您可以使用paste0()
構建模式:
Function1 <- function(x,y) {
grepl(pattern = paste0(".*\\s",y), x)
}
Function1(data, 'S')
[1] TRUE FALSE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.