在
示例:
这只是一个简单的例子 - 我实际的用例有很多基于用户输入的条件分组,我想在函数中某个时刻丢弃一个分组并保留其余部分。
dplyr
中,如果一个 tibble 被多个变量分组,有没有一种方法可以删除单个分组变量,而不重新指定不包含该变量的分组?我认为可以类似这样使用 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"
这只是一个简单的例子 - 我实际的用例有很多基于用户输入的条件分组,我想在函数中某个时刻丢弃一个分组并保留其余部分。
group_by
或ungroup()
实现(因为请注意,ungroup(carb)
也无法工作)。然而,您可以尝试使用group_by_at()
或group_by_if()
来处理您的情况。 - Sotosgroup_vars()
保存分组变量,并可能将其编辑后传递给group_by_at()
。 - MeetMrMetungroup
函数中的...
参数是否被使用了吗?它与相关的帮助文件不一致。 - moodymudskipperungroup
来说似乎并非如此- 我甚至不知道ungroup
有...
参数。我从未见过它与除 tbl 之外的任何参数一起使用。 - MeetMrMet