使用purrr函数并行迭代两个嵌套列表

时间:2017-01-11 15:32:20

标签: r purrr

我正在玩一些purrr函数并发现(令我高兴的)purrr::at_depth(.x, .depth, .f, ...)这是purrr::map(x, . %>% map(fun))的缩写。

问题: 当我有两个我想要迭代的嵌套列表时,是否有类似的函数或正确的“purrr - 方式”做同样的事情并行

举个例子:

x <- list(list(10, 20), list(30, 40))
y <- list(list(1, 2), list(3, 4))

a <- list()
for(i in seq_along(x)) {
   a[[i]] <- map2(x[[i]], y[[i]], `+`) 
}

这有效,但它相当脏,我想避免for循环。

1 个答案:

答案 0 :(得分:5)

您有列表列表且+未针对列表进行矢量化,您可以使用map2两次,第一个map2循环通过x,y同时循环{{1}以元素方式添加子列表:

map2