Найти аэропорты, к которым подключены рейсы - PullRequest
0 голосов
/ 24 марта 2020
library(tidyverse)
library(nycflights13)

Я хочу узнать, в какие аэропорты есть рейсы. Моя попытка показана ниже, но она не верна (она дает число, которое намного превышает количество аэропортов)

airPortFlights <- airports %>% rename(dest=faa) %>% left_join(flights, "dest"=faa)

Если кто-то задается вопросом, почему я делаю переименование выше, это потому, что он выиграл ' t позвольте мне сделать

airports %>% left_join(flights, "dest"=faa)

Это дает

Ошибка: by требуется, потому что источники данных не имеют общих переменных`

I даже попробовал airports %>% left_join(flights, by=c("dest"=faa)) и несколько других попыток, которые тоже не работают.

Заранее спасибо.

1 Ответ

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

Вы хотите inner_join, а затем либо посчитать отдельные рейсы, либо просто перечислите аэропорты, используя distinct. Здесь я их считаю.

library(dplyr)

inner_join(airports, flights, by=c("faa"="dest")) %>%
  count(faa, name) %>% # number of flights
  arrange(-n)

# A tibble: 101 x 3
   faa   name                                   n
   <chr> <chr>                              <int>
 1 ORD   Chicago Ohare Intl                 17283
 2 ATL   Hartsfield Jackson Atlanta Intl    17215
 3 LAX   Los Angeles Intl                   16174
 4 BOS   General Edward Lawrence Logan Intl 15508
 5 MCO   Orlando Intl                       14082
 6 CLT   Charlotte Douglas Intl             14064
 7 SFO   San Francisco Intl                 13331
 8 FLL   Fort Lauderdale Hollywood Intl     12055
 9 MIA   Miami Intl                         11728
10 DCA   Ronald Reagan Washington Natl       9705
# ... with 91 more rows

Таким образом, 101 из 1458 аэропортов в этом наборе данных имеют по крайней мере 1 запись в наборе данных о полетах, с Chica go 'O'Hare Intl аэропорт, выполняющий наибольшее количество рейсов из Нью-Йорка.

И просто для удовольствия, в следующем списке перечислены аэропорты, которые не имеют рейсов из Нью-Йорка:

anti_join(airports, flights, by=c("faa"="dest"))
...