I have the following data frames
d1 <- tibble(condition = c("a", "b"), x = c(1, 1)) %>% group_by(condition)
d2 <- tibble(condition = c("a", "b"), y = c(2, 2)) %>% group_by(condition)
d3 <- tibble(condition = c("a", "b"), z = c(3, 3)) %>% group_by(condition)
and I want to build the data frame d
d1_nest <- d1 %>% nest(.key = d1)
d2_nest <- d2 %>% nest(.key = d2)
d3_nest <- d3 %>% nest(.key = d3)
d <- d1_nest %>% left_join(d2_nest) %>% left_join(d3_nest)
and I would like to do that with a function
my_fun(list(d1, d2, d3))
I started with
my_fun <- function(l) {
l %>% map(nest)
}
The problem is that I want to supply the name of the data frames (d1, d2 and d3) in the argument .key
of nest, but I don't know how to do it.
I guess once I can include the .key
argument, it should be easy to apply left_join
using reduce
.