concatenate quosures and string

Viewed 796

I'm looking for a way to concatenate a quosure and a string whose result is a quosure. Actually, if I use paste0() and quo_name(), I can do it. But I wonder if there is a more elegant alternative to write a function in my package. This is a generic example:

library(dplyr)

df <- data_frame(
  z_1 = 1,
  z_2 = 2,
  y_1 = 10,
  y_2 = 20
)

get_var <- function(.data, var) {
  xx = enquo(var)

  select(.data, paste0(quo_name(xx), "_1"), paste0(quo_name(xx), "_2"))
}

get_var(df, z)
# A tibble: 1 x 2
    z_1   z_2
  <dbl> <dbl>
1     1     2
1 Answers
Related