在参数由数据框指定的地方使用 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)
这样参数 A
和 B
在输入 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
我尝试多次使用一个函数,每次都改变参数。我想改变的论点也改变了。
我正在尝试使用一个数据框,其中的列名指定了我要更改的参数。
例如,假设我们使用 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)
这样参数 A
和 B
在输入 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