代码之家  ›  专栏  ›  技术社区  ›  jyjek

使用rlang使用data.table汇总列

  •  0
  • jyjek  · 技术社区  · 6 年前

    我是新来的 data.table
    数据表 使用 rlang ?

    library(tidyverse)
    library(data.table)
    
    gr <- "Species"
    col <- "Petal.Length"
    
    iris %>% 
      group_by(!!rlang::sym(gr)) %>% 
      summarise_at(vars(!!rlang::sym(col)),sum)
    
    iris1 <- iris 
    setDT(iris1)
    iris1[,sum(!!rlang::sym(col)),by=!!rlang::sym(gr)]
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   arg0naut91    6 年前

    你会用 get :

    iris1[, sum(get(col)), by = get(gr)]
    

    正如@mmn指出的,您也可以跳过 收到 by