Airlines
flights
airlines
airports
planes
weather
Check is there are any duplicate tailnumbers.
Duplicated?
weather %>%
count(year, month, day, hour, origin) %>%
filter(n > 1)
Duplicates?
Note there are duplicated dates for flights and tailnum in the flights dataset. This may be a problem.
flights %>%
count(year, month, day, flight) %>%
filter(n > 1)
flights %>%
count(year, month, day, tailnum) %>%
filter(n > 1)
Join airline name to the flights data.
flights2 <- flights %>%
select(year:day, hour, origin, dest, tailnum, carrier)
flights2
flights2 %>%
select(-origin, -dest) %>%
left_join(airlines, by = "carrier")
Simple examples.
x <- tribble(
~key, ~val_x,
1, "x1",
2, "x2",
3, "x3"
)
x
y <- tribble(
~key, ~val_y,
1, "y1",
2, "y2",
4, "y3"
)
y
x %>%
inner_join(y, by = "key")
#> # A tibble: 2 x 3
#> key val_x val_y
#> <dbl> <chr> <chr>
#> 1 1 x1 y1
#> 2 2 x2 y2
Duplicate keys.
x <- tribble(
~key, ~val_x,
1, "x1",
2, "x2",
2, "x3",
1, "x4"
)
x
y <- tribble(
~key, ~val_y,
1, "y1",
2, "y2"
)
y
left_join(x, y, by = "key")
Both with duplicate keys.
x <- tribble(
~key, ~val_x,
1, "x1",
2, "x2",
2, "x3",
3, "x4"
)
x
y <- tribble(
~key, ~val_y,
1, "y1",
2, "y2",
2, "y3",
3, "y4"
)
y
left_join(x, y, by = "key")
LS0tCnRpdGxlOiAiQ2hhcHRlciAxMyAtIFJlbGF0aW9uYWwgRGF0YSIKb3V0cHV0OgogIHBkZl9kb2N1bWVudDogZGVmYXVsdAogIHdvcmRfZG9jdW1lbnQ6IGRlZmF1bHQKICBodG1sX25vdGVib29rOiBkZWZhdWx0Ci0tLQoKCgpgYGB7ciBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShueWNmbGlnaHRzMTMpCmBgYAoKIyBBaXJsaW5lcwoKYGBge3J9CmZsaWdodHMKCmFpcmxpbmVzCgphaXJwb3J0cwoKcGxhbmVzCgp3ZWF0aGVyCmBgYAoKIVtdKGh0dHA6Ly9yNGRzLmhhZC5jby5uei9kaWFncmFtcy9yZWxhdGlvbmFsLW55Y2ZsaWdodHMucG5nKQoKQ2hlY2sgaXMgdGhlcmUgYXJlIGFueSBkdXBsaWNhdGUgdGFpbG51bWJlcnMuCgpgYGB7cn0KcGxhbmVzICU+JSAKICBjb3VudCh0YWlsbnVtKSAlPiUgCiAgZmlsdGVyKG4gPiAxKQpgYGAKCkR1cGxpY2F0ZWQ/CgpgYGB7cn0Kd2VhdGhlciAlPiUgCiAgY291bnQoeWVhciwgbW9udGgsIGRheSwgaG91ciwgb3JpZ2luKSAlPiUgCiAgZmlsdGVyKG4gPiAxKQpgYGAKCkR1cGxpY2F0ZXM/CgpOb3RlIHRoZXJlIGFyZSBkdXBsaWNhdGVkIGRhdGVzIGZvciBmbGlnaHRzIGFuZCB0YWlsbnVtIGluIHRoZSBmbGlnaHRzIGRhdGFzZXQuICBUaGlzIG1heSBiZSBhIHByb2JsZW0uCgpgYGB7cn0KZmxpZ2h0cyAlPiUgCiAgY291bnQoeWVhciwgbW9udGgsIGRheSwgZmxpZ2h0KSAlPiUgCiAgZmlsdGVyKG4gPiAxKQoKZmxpZ2h0cyAlPiUgCiAgY291bnQoeWVhciwgbW9udGgsIGRheSwgdGFpbG51bSkgJT4lIAogIGZpbHRlcihuID4gMSkKYGBgCgoKSm9pbiBhaXJsaW5lIG5hbWUgdG8gdGhlIGZsaWdodHMgZGF0YS4KCmBgYHtyfQpmbGlnaHRzMiA8LSBmbGlnaHRzICU+JSAKICBzZWxlY3QoeWVhcjpkYXksIGhvdXIsIG9yaWdpbiwgZGVzdCwgdGFpbG51bSwgY2FycmllcikKZmxpZ2h0czIKCmZsaWdodHMyICU+JQogIHNlbGVjdCgtb3JpZ2luLCAtZGVzdCkgJT4lIAogIGxlZnRfam9pbihhaXJsaW5lcywgYnkgPSAiY2FycmllciIpCmBgYAoKU2ltcGxlIGV4YW1wbGVzLgoKYGBge3J9CnggPC0gdHJpYmJsZSgKICB+a2V5LCB+dmFsX3gsCiAgICAgMSwgIngxIiwKICAgICAyLCAieDIiLAogICAgIDMsICJ4MyIKKQp4CnkgPC0gdHJpYmJsZSgKICB+a2V5LCB+dmFsX3ksCiAgICAgMSwgInkxIiwKICAgICAyLCAieTIiLAogICAgIDQsICJ5MyIKKQp5CmBgYAoKYGBge3J9CnggJT4lIAogIGlubmVyX2pvaW4oeSwgYnkgPSAia2V5IikKYGBgCgpEdXBsaWNhdGUga2V5cy4KCmBgYHtyfQp4IDwtIHRyaWJibGUoCiAgfmtleSwgfnZhbF94LAogICAgIDEsICJ4MSIsCiAgICAgMiwgIngyIiwKICAgICAyLCAieDMiLAogICAgIDEsICJ4NCIKKQp4CnkgPC0gdHJpYmJsZSgKICB+a2V5LCB+dmFsX3ksCiAgICAgMSwgInkxIiwKICAgICAyLCAieTIiCikKeQpsZWZ0X2pvaW4oeCwgeSwgYnkgPSAia2V5IikKYGBgCgpCb3RoIHdpdGggZHVwbGljYXRlIGtleXMuCgpgYGB7cn0KeCA8LSB0cmliYmxlKAogIH5rZXksIH52YWxfeCwKICAgICAxLCAieDEiLAogICAgIDIsICJ4MiIsCiAgICAgMiwgIngzIiwKICAgICAzLCAieDQiCikKeAp5IDwtIHRyaWJibGUoCiAgfmtleSwgfnZhbF95LAogICAgIDEsICJ5MSIsCiAgICAgMiwgInkyIiwKICAgICAyLCAieTMiLAogICAgIDMsICJ5NCIKKQp5CmxlZnRfam9pbih4LCB5LCBieSA9ICJrZXkiKQpgYGAKCg==