group_by和选择助手/标准评估

时间:2018-08-23 07:47:12

标签: r dplyr non-standard-evaluation

我正在项目中重写一些代码,我需要对字符变量中的变量名进行分组(并汇总),如下所示:

test <- mtcars
x <- "gear"

这将与group_by_已弃用的group_by标准评估版一起使用,如下所示:

test %>% 
  group_by_(x) %>%
  summarise(mpg=mean(mpg)

是否可以使用group_by将其存档并引用和取消引用x还是可以在matches中使用诸如group_by之类的选择助手?

我无法更改x的存储方式,因为项目的其他部分仍然像split(test, test[, x])那样使用split-lapply ...

1 个答案:

答案 0 :(得分:1)

您需要先将其转换为符号

select ID, qty, price from(
select ID, 
       qty, 
       price, 
       (case when qty > 0 then 1
        else 0 end) as grp
from table)
group by grp
order by price desc