簡體   English   中英

在grepl模式(R)中使用函數參數

[英]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' \\\\yy ,沒有任何效果)

模式只是一個字符串。 您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM