首页 > 解决方案 > 使用汇总后检索丢弃的列

问题描述

我正在选择航班的前 10 个目的地,以及去那里的航班数量。为了实现这一点,我需要使用 summarise,它会丢弃我在group_by(..).

后来我需要该列origin,但我不再可以检索该列,因为它与其他列一起被丢弃。为了保持这origin一点,我似乎需要在我的中提及它,group_by(..)但我不想要这个,因为我的结果将是不正确的。我怎样才能得到这些前 10 航班的起源?

library(tidyverse)
library(nycflights13)

(newFlights<- flights %>% 
    group_by("Destination" = dest) %>% 
    summarise("AllFlights" = n()) %>% 
    arrange(desc(AllFlights)) %>% top_n(10))

标签: r

解决方案


您想origin在对group_by(). 请参阅文档

newFlights <- as.data.frame(flights %>% 
  group_by(origin, dest)%>%
  summarize("AllFlights" = n()) %>%
  arrange(desc(AllFlights))  %>%
  top_n(10)
)

head(newFlights, 10)

给你:

   origin dest AllFlights
1     JFK  LAX      11262
2     LGA  ATL      10263
3     LGA  ORD       8857
4     JFK  SFO       8204
5     LGA  CLT       6168
6     EWR  ORD       6100
7     JFK  BOS       5898
8     LGA  MIA       5781
9     JFK  MCO       5464
10    EWR  BOS       5327

推荐阅读