Below is a function that uses reduce to apply %+% (the ggplot2 addition operator) to whatever plots are in a nested data frame. I haven't done this before and I'd be surprised if there weren't a more natural or elegant approach.
my_patchwork = function(data, plot_col="plot") {
reduce(data[[plot_col]], `%+%`)
}
iris.with.plots %>%
filter(Species %in% c("setosa", "versicolor")) %>%
my_patchwork()
You could also do this directly without defining a function:
iris.with.plots %>%
filter(Species %in% c("setosa", "versicolor")) %>%
.[["plot"]] %>% reduce(`%+%`)
or
iris.with.plots %>%
filter(Species %in% c("setosa", "versicolor")) %>%
pluck("plot") %>% reduce(`%+%`) # pull(plot) %>% reduce(`%+%`) also works