I was able to answer my own question using map2, for future reference:
my_graphs <- df %>%
pivot_longer(names_to = "name", values_to = "value", cols = viability_percent:vcd_10_5_cells_m_l) %>%
mutate(graph_title = paste(grouping, ":", name)) %>%
group_by(graph_title) %>%
nest() %>%
mutate(graphs = map2(
data, graph_title,
~ {
ggplot(.x, aes(actual_duration_of_subculture_hrs, value, group = run)) +
geom_point() +
geom_line() +
ggtitle(.y)
}
))
my_graphs$graphs %>%
map(print)