如果小标题由中的多个变量分组dplyr,是否有办法删除单个分组变量,而不是重新指定没有该变量的组?我以为那会是类似的东西group_by(df, -var, add = TRUE),尽管那行不通。
例:
library(dplyr)
# Works
mtcars %>%
# Original groups
group_by(cyl, gear, carb) %>%
# New groups
group_by(cyl, gear) %>%
group_vars()
# [1] "cyl" "gear"
# Doesn't work
mtcars %>%
# Original groups
group_by(cyl, gear, carb) %>%
# New groups
group_by(-carb, add = TRUE) %>%
group_vars()
# [1] "cyl" "gear" "carb" "-carb"
Run Code Online (Sandbox Code Playgroud)
这显然是一个简单的示例-我的实际用例有许多基于用户输入的条件分组,而我想只在函数中的某个位置删除一个分组,而将其余分组保留。
.dots除了某些之外,我们还可以使用规范和分组。例如
library(dplyr)
ungroup_by <- function(x,...){
group_by_(x, .dots = group_vars(x)[!group_vars(x) %in% ...])
}
mtcars %>%
group_by(cyl, gear, carb) %>%
ungroup_by('cyl') %>%
group_vars()
[1] "gear" "carb"
Run Code Online (Sandbox Code Playgroud)
类似的信息可以在这篇文章中找到。