Сохраните нужные столбцы при использовании суммирования - PullRequest
0 голосов
/ 05 марта 2020

Я хочу получить 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, но это не имеет смысла, поскольку объединение в этом наборе результатов может не дать правильные полеты.

Я нашел этот пост: Как суммировать все столбцы, используя group_by, и суммировать? , но это не помогло мне, так как функция суммирования не может найти столбцы, о которых я упоминал, что не в его функции.

1 Ответ

1 голос
/ 05 марта 2020

Когда вы суммируете количество рейсов по пункту назначения, вы суммируете общее количество рейсов, прибывающих в город назначения, который имеет много разных городов происхождения. Поэтому не имеет смысла, чтобы здесь было одно значение в столбце происхождения.

Если хотите, вы можете заменить group_by(dest) на group_by(origin,dest). Это даст вам 10 пар городов отправления и назначения, что будет отличаться от вашего вопроса, но сохранит столбцы отправления и назначения для дальнейшего анализа.

library(tidyverse)
library(nycflights13)

flights %>% 
  group_by(origin, dest) %>% 
    summarise(n = n()) %>% 
      arrange(desc(n)) %>% head(10)

вывод

# A tibble: 10 x 3
# Groups:   origin [3]
   origin dest      n
   <chr>  <chr> <int>
 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...