Кажется, это должно быть просто. У меня есть 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
вместо итераций вложенных карт? Спасибо.
dplyr
вы можете выполнить внутреннее соединение с фиктивным столбцом, а затемpaste
получить результат. Аналогично, используяCJ
(перекрестное соединение) изdata.table
. - person Akhil Nair   schedule 24.05.2017map2(x,y,~paste(x,y))
, однако привязка происходит для каждой строки, а не для поиска всех комбинаций y на x. - person timfaber   schedule 24.05.2017map2(x, y, paste)
звонок. - person biomiha   schedule 24.05.2017map(x, ~paste(.x, map(y, paste0)))
. - person Axeman   schedule 24.05.2017outer
следующим образом, чтобы вернуть вектор всех пар, склеенных вместе:c(outer(x, y, FUN=paste))
. - person lmo   schedule 24.05.2017