R 中函数的所有可能参数规范
All possible argument specifications for a function in R
我有一个具有以下形式的函数:
model <- Create(parameter1 = list(model = "a" , "b"),
parameter2 = list(distribution = "x" , "y"))
我想创建所有 possible 规格 os 这个 'model' 使用上面的函数。
parameter1
和 parameter2
的 possible 值是:
parameter1: "a", "b", "c", "d", "e"
和
parameter2: "x", "y", "z", "w", "t", "v"
我试过使用 for
循环,但到目前为止还没有用。
如有任何帮助,我们将不胜感激。
我们可以使用 combn
创建每个 'parameter'、
的配对组合
d1 <- expand.grid(parameter1, parameter1, stringsAsFactors = FALSE)
d2 <- expand.grid(parameter2, parameter2, stringsAsFactors = FALSE)
names(d2) <- c("Var3", "Var4")
然后使用 expand.grid
或 crossing
,扩展创建的两个数据集
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")
我有一个具有以下形式的函数:
model <- Create(parameter1 = list(model = "a" , "b"),
parameter2 = list(distribution = "x" , "y"))
我想创建所有 possible 规格 os 这个 'model' 使用上面的函数。
parameter1
和 parameter2
的 possible 值是:
parameter1: "a", "b", "c", "d", "e"
和
parameter2: "x", "y", "z", "w", "t", "v"
我试过使用 for
循环,但到目前为止还没有用。
如有任何帮助,我们将不胜感激。
我们可以使用 combn
创建每个 'parameter'、
d1 <- expand.grid(parameter1, parameter1, stringsAsFactors = FALSE)
d2 <- expand.grid(parameter2, parameter2, stringsAsFactors = FALSE)
names(d2) <- c("Var3", "Var4")
然后使用 expand.grid
或 crossing
,扩展创建的两个数据集
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")