【发布时间】:2020-06-18 04:47:18
【问题描述】:
我想获取前 10 个目的地,以及飞往这些目的地的航班数量。我正在使用汇总,我的问题是汇总会丢弃summarise(..) 中未提及的所有列。我需要保留专栏origin 以备后用。
library(tidyverse)
library(nycflights13)
flights %>%
group_by(dest) %>%
summarise(n = n()) %>%
arrange(desc(n)) %>% head(10)
这是上面代码的结果
# A tibble: 10 x 2
dest allFlights
<chr> <int>
1 ORD 17283
2 ATL 17215
3 LAX 16174
4 BOS 15508
5 MCO 14082
6 CLT 14064
7 SFO 13331
8 FLL 12055
9 MIA 11728
10 DCA 9705
我认为这是正确的。但我所缺少的是另一列打印origin
我正在考虑进行一些连接以获得origin,但这没有意义,因为在此结果集上进行连接可能不会产生正确的航班。
我找到了这篇文章:How to summarise all columns using group_by and summarise?,但这对我没有帮助,因为 summarise 无法找到我提到的列,这些列不在其功能中。
【问题讨论】:
-
当您按目的地汇总航班时,您是在汇总到达目的地城市的航班总数,这些城市有许多不同的始发城市。因此,这里的原始列中只有一个值是没有意义的。如果您愿意,您可以将
group_by(dest)替换为group_by(origin,dest),这将为您提供前 10 个对始发地-目的地城市。 -
你是对的。非常感谢。请这样做,以便我可以将您的答案标记为解决方案
标签: r