创建列表对象后,为列表列表中的元素创建子列表

时间:2019-03-21 12:07:09

标签: r list recursion

样品清单:

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

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

在这里,我想为上述每个列表中a bc中的元素创建一个子列表。也就是说,我想嵌套foobarbaz,在我按照上述方式创建列表后,再往下一个列表。

所需的输出:

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

1 个答案:

答案 0 :(得分:1)

我们可以使用add

imap

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

lst

-检查OP的输出

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