簡體   English   中英

R 中函數的所有可能參數規范

[英]All possible argument specifications for a function in R

我有一個具有以下形式的函數:

model <- Create(parameter1 = list(model = "a" , "b"),
                parameter2 = list(distribution = "x" , "y"))

我想使用上面的函數為這個“模型”創建所有可能的規范。

parameter1parameter2的可能值為:

parameter1: "a", "b", "c", "d", "e"

parameter2: "x", "y", "z", "w", "t", "v"

我曾嘗試使用for循環,但到目前為止還沒有奏效。

任何幫助將不勝感激。

我們可以使用combn來創建每個“參數”的配對組合,

 d1 <- expand.grid(parameter1, parameter1, stringsAsFactors = FALSE)

 d2 <- expand.grid(parameter2, parameter2, stringsAsFactors = FALSE)
 names(d2) <- c("Var3", "Var4")

然后使用expand.gridcrossing ,擴展創建的兩個數據集

library(tidyr)
parameter_dat <- crossing(d1, d2)
str(parameter_dat)
tibble [900 × 4] (S3: tbl_df/tbl/data.frame)
 $ Var1: chr [1:900] "a" "a" "a" "a" ...
 $ Var2: chr [1:900] "a" "a" "a" "a" ...
 $ Var3: chr [1:900] "t" "t" "t" "t" ...
 $ Var4: chr [1:900] "t" "v" "w" "x" ...

遍歷數據集的行並應用函數

library(purrr)
pmap(parameter_dat, ~ Create(parameter1 = list(model = c(..1, ..2)),
                parameter2 = list(distribution = c(..3, ..4))))

數據

parameter1 <- c("a", "b", "c", "d", "e")
parameter2 <- c("x", "y", "z", "w", "t", "v")

暫無
暫無

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

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