从tidyverse包中消除“Eliminate the ungroup...”信息

6

当我运行以下命令时,会得到一个烦人的消息,上面写着:summarise() ungrouping output (override with .groups argument)

我想知道如何在下面的数据中消除这个消息?

library(tidyverse)

hsb <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/hsb.csv')  
ave_cluster_n <- as_vector(hsb %>% dplyr::select(sch.id) %>% group_by(sch.id) %>% summarise(n=n()) %>%  ungroup() %>% dplyr::select(n))

# `summarise()` ungrouping output (override with `.groups` argument) # How to eliminate this message 
2个回答

8
这可以通过 `pkg` 选项进行管理:
library(tidyverse)
options(dplyr.summarise.inform = FALSE)

...然后你就再也看不到那些消息了。


5

如果我们想要避免得到错误信息,可以使用不同的选项在summarise中指定.groups参数。此外,在tidyverse中提取列向量,可以使用pull函数。

library(dplyr)
hsb %>% 
    dplyr::select(sch.id) %>%
    group_by(sch.id) %>%
    summarise(n=n(), .groups = 'drop') %>%
    pull(n)

另一种选择是完全绕过 group_by/summarise,并使用count

hsb %>%
   count(sch.id) %>%
   pull(n)

或者使用 tally

hsb %>%
   group_by(sch.id) %>% 
   tally()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接