首页 > 解决方案 > 使用 as.factor 在 R 中对字符进行分组

问题描述

我正在尝试使用库(nycflights13)查找从某些来源延迟的航班的最大数量,但我无法弄清楚如何按“chr”分组

library(nycflights13)
library(dplyr)
flights2 <- mutate(flights,factori = as.factor(flights$origin))
flights2 %>% 
filter(dep_delay > 2) %>% 
select(dep_delay, factori) %>% 
group_by(factori)

输出样本:

在此处输入图像描述

我怎样才能将它们组合在一起?我怎样才能找到最大计数?

标签: rgroup-by

解决方案


group_by不会改变数据结构中的任何内容。之后的行数和列数保持不变group_by。这是你group_by决定输出之后所做的事情。

要获得max dep_delay每个factori您可以执行的操作:

library(nycflights13)
library(dplyr)

flights2 %>% 
  filter(dep_delay > 2) %>% 
  select(dep_delay, factori) %>% 
  group_by(factori) %>%
  summarise(max = max(dep_delay, na.rm = TRUE))

#  factori   max
#* <fct>   <dbl>
#1 EWR      1126
#2 JFK      1301
#3 LGA       911

summarise 通常每组只给出一行,而mutate行数与原始数据相同。


推荐阅读