使用Rlang使用data.table汇总列

时间:2019-07-16 18:31:01

标签: r data.table tidyverse rlang

我是data.table的新朋友
如何使用data.tablerlang做同样的事情?

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 个答案:

答案 0 :(得分:5)

您将使用get

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

正如@mmn所指出的,您也可以在get参数中跳过by