10章 dplyrによる関係データ
10.0 ライブラリの読み込み
library("tidyverse")
library("nycflights13")
library("viridis")
library("datamodelr")
library("DiagrammeR")
library("fueleconomy")
library("nasaweather")
library("babynames")
library("Lahman")
10.1 はじめに
10.2 nycflights13
練習問題1 各飛行機が出発地から目的地まで飛ぶ経路を描きたい場合、どのような変数が必要ですか?
flights %>%
select(origin, dest) %>%
inner_join(airports %>%
select(origin = faa, origin_lat = lat, origin_lon = lon),
by = "origin") %>%
inner_join(airports %>% select(dest = faa, dest_lat = lat, dest_lon = lon),
by = "dest") %>%
slice(1:100) %>%
ggplot(.) +
borders("state") +
geom_segment(aes(
x = origin_lon, xend = dest_lon,
y = origin_lat, yend = dest_lat),
arrow = arrow(length = unit(0.3, "cm"))) +
coord_quickmap() +
labs(y = "Latitude", x = "Longitude")
練習問題2 weatherとairportsの関係を書き忘れたので、図で表現しなさい。
weatherとairportsの関係を書き忘れたので、図で表現しなさい。
練習問題3 天気には、NYC空港の情報しか含まない。アメリカすべての空港の天気情報を含んでいたならば、flightsにはどのような関係が追加されるのか?
flightsにはどのような関係が追加されるのか?練習問題4 通常よりも人数が少なくなる「特別な日」があります。そのデータをデータフレームとしてどのように表現できますか。 そのテーブルの主キーは何でしょうか。 既存のテーブルにどのように接続しますか?
10.3 キー
練習問題1 flightsに代理キーを追加しなさい。
flightsに代理キーを追加しなさい。練習問題2 以下のデータセットのキーを識別します
練習問題3 Lahmanパッケージで、Batting、MasterおよびSalariesの関係テーブルを示しなさい。また、Master、Managers、AwardsManagersの関係図も書きなさい。
Batting、MasterおよびSalariesの関係テーブルを示しなさい。また、Master、Managers、AwardsManagersの関係図も書きなさい。

10.4 更新ジョイン
練習問題1 目的地別の平均遅延時間を計算し、airportsデータフレームに結合し、遅延の空間分布を表現しなさい。
airportsデータフレームに結合し、遅延の空間分布を表現しなさい。
練習問題2 出発地と目的地の場所に(latとlon)を追加しなさい。
latとlon)を追加しなさい。練習問題3 機体年数と出発遅延平均時間に関係はあるか。

練習問題4 天候と遅延は関係あるのか。

練習問題5 2013年6月13日に何が起こったのか。

10.5 フィルタジョイン
練習問題1 tailnumが欠損しているフライトの意味は何ですか?planesに一致するレコードを持たない機体に共通しているのは何か。
tailnumが欠損しているフライトの意味は何ですか?planesに一致するレコードを持たない機体に共通しているのは何か。練習問題2 少なくとも100便が飛んでいる飛行機のフライトのみを表示します。
練習問題3 fueleconomy::vehiclesとfueleconomy::commonを結合し、最も一般的なモデルのレコードを検索しなさい。
fueleconomy::vehiclesとfueleconomy::commonを結合し、最も一般的なモデルのレコードを検索しなさい。練習問題4 最悪の遅延がある48時間(年間を通して)を見つけます。天気データと相互参照してください。パターンは見えますか?

練習問題5 anti_join(flights, airports, by = c("dest" = "faa"))とanti_join(airports, flights, by = c("faa" = "dest"))から何がわかるか。
anti_join(flights, airports, by = c("dest" = "faa"))とanti_join(airports, flights, by = c("faa" = "dest"))から何がわかるか。練習問題6 飛行機と航空会社の間に暗黙の関係(各飛行機は1つの航空会社によって飛ばされる)があることを期待するかもしれません。上記で学んだツールを使用して、この仮説を確認するか却下します。
10.6 ジョインの問題
10.7 集合演算
最終更新