使用purrr将具有多个参数的多个函数

时间:2018-09-10 16:51:38

标签: r function purrr

我能够实现一种将参数组合迭代到单个函数的方法:

a <- seq(1, 5, 1)
b <- rep(10, 15, 1)

foo <- function(a, b){ a + b}
foo2 <- function(a, b) {a * b}

result <- invoke_map_dbl(foo, cross2(a, b))

但是,我无法在两个函数上迭代这些参数。我想这样做:

result <- invoke_map_dbl(list(foo, foo2), cross2(a,b))

有可能吗?

1 个答案:

答案 0 :(得分:3)

问题可能是试图将列表输出强制为Product Category Sales SunAdj NameDay AdjustedDays ------- ----------- ----------- ----------- --------- ------------ Bakery NULL 1000 3500 Friday 1000 Fish NULL 1000 3500 Wednesday 1000 Meat NULL 1000 3500 Sunday 3500 。你不是只需要...

dbl

如果需要的话,您可以invoke_map(list(foo,foo2), a=a, b=b) [[1]] [1] 11 12 13 14 15 [[2]] [1] 10 20 30 40 50 来获得一个向量。

再次查看此内容,我发现您只是在定义unlist,这看起来是错误的。因此,这可能无法满足您的要求,但是您需要更加具体地回答问题。