На самом деле, это работает:
tibble(pick_these = get_these %>%
map(rlang::parse_expr)) %>%
mutate(wat = names(get_these),
goods = list(diamonds)) %>%
mutate(goods = pmap(.l = dplyr::select(.,
goods,
pick_these),
.f = function(goods, pick_these) {
goods %>% filter(rlang::eval_tidy(pick_these))
})) %>%
dplyr::select(goods, wat)
Таким образом, хитрость заключается в использовании rlang::eval_tidy()
вместо !!
. Я понятия не имел, прежде чем читать ответ @ akrun, и до сих пор не понимаю, почему !!
не работает в этом контексте.