【问题标题】:group_by and selection helpers / standard evaluation [duplicate]group_by 和选择助手/标准评估[重复]
【发布时间】:2018-08-23 07:47:11
【问题描述】:

我正在重写项目中的一些代码,我需要按(并总结)字符变量中的变量名进行分组,类似于:

test <- mtcars
x <- "gear"

这适用于group_by_ 已弃用的group_by 标准评估版,如下所示:

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

是否可以使用 group_by 和引用和取消引用 x 来归档它,或者我可以在 group_by 中使用像 matches 这样的选择助手?

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

【问题讨论】:

  • 使用get ? test %&gt;% group_by(get(x)) %&gt;% summarise(mpg=mean(mpg))
  • 如果你不需要完全使用group_by函数,你可以试试group_by_at(vars(one_of(x)))
  • @RonakShah 是的,kath 评论中的链接是骗子。
  • @tmfmnk 谢谢,这正是我想要的。

标签: r dplyr non-standard-evaluation


【解决方案1】:

您需要先将其转换为符号

test %>% 
  group_by(!!rlang::sym(x)) %>%
  summarise(mpg=mean(mpg))

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2011-11-13
    • 2020-04-15
    • 2016-09-18
    相关资源
    最近更新 更多