【发布时间】:2023-03-11 08:53:02
【问题描述】:
group_by_at 的当前文档指出,_at 函数已被使用 across 取代。
但是,across 在我尝试时失败
恢复原始分组,因为它忽略了当前的分组列。
do_with_cut <- function(df) {
groupVarsOrig <- group_vars(df)
df %>%
group_by(.data$cut, .add = TRUE) %>%
summarise(price = mean(price)) %>%
#group_by_at(vars(groupVarsOrig)) # marked as superseded
#group_by(across(groupVarsOrig)) # fails for missing column color
ungroup() %>% group_by(across(groupVarsOrig))
}
ggplot2::diamonds %>%
group_by(color) %>%
do_with_cut()
为了避免这些错误重新分组与未知先前分组的小标题
我必须先ungroup。
但是,在我看来,总是在group_by(across(...)) 前面加上ungroup() 似乎不是替换group_by_at 的明确方法。现在推荐的重新分组方式是什么?
【问题讨论】: