我正在玩一些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循环.
你有列表列表,+
没有列表的矢量化,你可以使用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