I have a list and would like to create a new list entry, d, by binding together the existing list entries as shown below:
library(data.table)
## this works fine
example_list <- list("a" = data.frame(x = 1),
"b" = data.frame(x = 2),
"c" = data.frame(x = 3))
example_list[["d"]] <- rbindlist(example_list[c("a", "b", "c")])
Is it possible to create d at the same time as I create the original list? I would like to do something like this:
## this does not work
example_list <- list("a" = data.frame(x = 1),
"b" = data.frame(x = 2),
"c" = data.frame(x = 3),
"d" = rbindlist(.[c("a", "b", "c")]))
Edit: I need to explicitly reference previous list entries, thus something like this would not work:
## ineligible
example_list <- list("a" = data.frame(x = 1),
"b" = data.frame(x = 2),
"c" = data.frame(x = 3),
"d" = data.frame(x = 1) %>%
rbind(data.frame(x = 2)) %>%
rbind(data.frame(x = 3)))