rlang:引用 tidyr unite 函数中的 var

rlang: refer var in the tidyr unite function

这是我的数据:

df <- tibble::tribble(
   ~A,  ~B, ~C,
  "a", "b", 2L,
  "a", "b", 4L,
  "c", "d", 3L,
  "c", "d", 5L
  )

var <- "AB"

我想要得到这个输出:

df1 <- df %>% 
  unite("AB", c("A", "B")) %>% 
  group_by(AB) %>% 
  nest()

但是,我想参考var,也许使用rlang。我不想手动输入“AB”。我尝试了以下方法,但没有得到所需的输出。

df1 <- df %>% 
  unite(var, c("A", "B")) %>% 
  group_by(!!var) %>% 
  nest()

这解决了问题:

df1 <- df %>% 
  unite(!!var, c("A", "B")) %>% 
  group_by(!!sym(var)) %>% 
  nest()