Если я не правильно понял ваш вопрос, второй не работает, потому что a
, b
и c
не являются элементами списка, которые присоединены в среде вызова pmap.
Если вы назвали элементы списка a
, b
и c
, это сработало бы.
tmp2 <- list(a = list(1:5),
b = list(10*c(1:5)),
c = list(100*c(1:5)))
tmp2 %>% pmap(function(a, b, c) paste(a, b, c))
#[[1]]
#[1] "1 10 100" "2 20 200" "3 30 300" "4 40 400" "5 50 500"
Возможно, у вас есть объекты с именами a
, b
или c
в вашей глобальной среде? Я получаю другое сообщение об ошибке.
tmp %>% pmap(function(a, b, c) paste(a, b, c))
#Error in .f(this = .l[[1L]][[1L]], that = .l[[2L]][[1L]], other = .l[[3L]][[1L]], :
# unused arguments (this = .l[[1]][[1]], that = .l[[2]][[1]], other = .l[[3]][[1]])
packageVersion("purrr")
#[1] ‘0.3.3’