Создание подсписка для элементов в списке списков после создания объекта списка - PullRequest
2 голосов
/ 21 марта 2019

Пример списка:

sublist <- list(foo = "foo", bar = "bar", baz = "baz")

sample_list <- list(a = sublist,
                    b = sublist,
                    c = sublist)

Здесь я хотел бы создать подсписок для элементов в a b и c в каждом из вышеупомянутых списков. Т.е. я хотел бы вложить foo, bar, baz, на один список ниже, после того, как я создал список способом, описанным выше .

Желаемый вывод:

sample_list <- list(a = list(a_down = sublist),
                    b = list(b_down = sublist),
                    c = list(c_down = sublist))

1 Ответ

1 голос
/ 21 марта 2019

Мы можем использовать imap

library(purrr)
out2 <- imap(sample_list, ~ set_names(list(.x), paste0(.y, "_down"))) 

или используя lst

imap(sample_list, ~ lst(!! paste0(.y, "_down") := .x))

-проверка с выходом OP

identical(out, out2)
#[1] TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...