在参数由数据框指定的地方使用 mapply

Using mapply where the arguments are specified by a data frame

我尝试多次使用一个函数,每次都改变参数。我想改变的论点也改变了。

我正在尝试使用一个数据框,其中的列名指定了我要更改的参数。

例如,假设我们使用 mapply 将 1:3 乘以 4 和 5:

f <- function(A, B, C = 1) A * B * C
mapply(f, A = rep(1:3, 2), B = rep(4:5, each = 3))

我们可以使用 expand.grid 让事情变得更简单:

arg <- expand.grid(A = 1:3, B = 4:5)
mapply(f, A = arg$A, B = arg$B)

我正在尝试这样做:

mapply(f, arg)

这样参数 AB 在输入 arg 中指定。这可能吗?

我们可以使用do.call

do.call(Map, c(f = f, arg))

或者用mapply

do.call(mapply, c(FUN = f, arg))
#[1]  4  8 12  5 10 15