Используйте ввод функции карты purrr для создания именованного списка в качестве вывода в R

Я использую функцию map пакета purrr в R, который дает в качестве вывода список. Теперь я хотел бы, чтобы выход был именованным списком на основе ввода. Пример приведен ниже.

input <- c("a", "b", "c")
output <- purrr::map(input, function(x) {paste0("test-", x)})

из этого я хотел бы получить доступ к элементам списка через:

output$a

или

output$b

1 ответов


нам просто нужно имя list

names(output) <- input

а затем извлеките элементы на основе имени

output$a
#[1] "test-a"

если это необходимо сделать с помощью tidyverse

library(tidyverse)
output <- map(input, ~paste0('test-', .)) %>% 
                                setNames(input)