多个输入的连续迭代

时间:2017-05-24 07:06:47

标签: r purrr

这似乎应该是直截了当的。我有2个列表,每个实验中有3个实验列表和3个重复列表。我想做的是一次性阅读所有9个重复:

library(purrr)
x = list("exp1", "exp2", "exp3")
y = list("rep1", "rep2", "rep3")

使用map()例如:

map(x, function(x){paste(x, map(y, paste0))})

但是,如果我尝试map2(x, y, paste),我只得到两个输入的3次并行迭代。

在一个map2调用中没有简单的方法可以执行此操作而不是嵌套映射迭代吗?感谢。

1 个答案:

答案 0 :(得分:2)

您必须明确生成不同的组合,例如使用expand.grid

expand.grid(x = x, y = y) %>% { map2(.$x, .$y, paste) }