当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用purrr函数并行迭代两个嵌套列表》经验,为你挑选了1个好方法。

我正在玩一些purrr功能,并发现(令我高兴的)purrr::at_depth(.x, .depth, .f, ...)这是短暂的purrr::map(x, . %>% map(fun)).

问题: 当我有两个嵌套列表要并行迭代时,是否有类似的功能或正确的" purrr-way"做同样的事情

举个例子:

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> Psidom..:

你有列表列表,+没有列表的矢量化,你可以使用map2两次,第一次map2循环通过x,y同时循环,第二map2次以元素方式添加子列表:

map2(x, y, map2, `+`)

#[[1]]
#[[1]][[1]]
#[1] 11

#[[1]][[2]]
#[1] 22


#[[2]]
#[[2]][[1]]
#[1] 33

#[[2]][[2]]
#[1] 44

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有