簡體   English   中英

將基於模式matchin的參數傳遞給R中的函數

[英]Pass arguments based on pattern matchin to function in R

我確實有任意多個R對象,我想將它們作為參數傳遞給函數。 對象的命名約定為“ input_ \\ d +”,即字符串“ input_”,后跟一個或多個數字。 僅其中三個參數的靜態示例如下所示:

my_function <- function(input_1, input_2, input_3)

我該怎么做才能使R“滿足”所有滿足模式“ input_ \\ d +”的對象並將其傳遞給函數(該函數的代碼當然可以處理傳遞的任意數量的參數)。

任何建議將不勝感激,

奧利

您可以使用mgetls創建所有輸入的命名列表,並將該列表傳遞給函數,您可能需要針對這種輸入進行一些修改:

my_function(mget(ls(pattern = "^input_\\d+$")))

您可以使用get按名稱搜索對象。

input_1 <- 1
input_2 <- 2
input_3 <- 3

my_function <- function(input_1) {
    print(input_1^input_1)
}

for(i in 1:3) {
    foo_1 <- get(paste0("input_", i))
    my_function(foo_1)
}

1
4
27

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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