[英]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 +”的對象並將其傳遞給函數(該函數的代碼當然可以處理傳遞的任意數量的參數)。
任何建議將不勝感激,
奧利
您可以使用mget
和ls
創建所有輸入的命名列表,並將該列表傳遞給函數,您可能需要針對這種輸入進行一些修改:
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.