【问题标题】:rlang: refer var in the tidyr unite functionrlang:在 tidyr 联合函数中引用 var
【发布时间】:2023-09-04 18:37:01
【问题描述】:

这是我的数据:

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()

【问题讨论】:

    标签: r tidyr tidyverse rlang


    【解决方案1】:

    这解决了问题:

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

    【讨论】: