merge() を使って時系列を可視化する
フライトデータと同じ期間(2010〜2015 年)、同じ頻度(毎月)の気温データがそろったので、いよいよ結合します。
列方向に xts オブジェクトを結合するには merge() を使います。2 つの xts オブジェクトが同じ周期性を共有している場合、merge() は通常、適切な行に情報を統合できます。周期性が異なる場合でも、merge() はそれぞれの期間をまたいでも正しい時間順序を維持します。
この演習では、2 つの xts オブジェクトを列方向に結合し、フライトの遅延が気温とどう関係するかを探る新しいプロットを作成します。temps_monthly と flights_xts はワークスペースに用意されています。
この演習はコースの一部です
ケーススタディ:Rで都市の時系列データを分析する
演習の手順
merge()を使ってflights_xtsとtemps_monthlyを結合します。これらの xts オブジェクトは同じ周期性を持つため、結合コマンドによりflights_xtsの適切な行に気温データが入るはずです。結合するオブジェクトの並び順によって、結合後のオブジェクトでの列の位置が決まります。一貫性のため、最初にflights_xts、次にtemps_monthlyを指定してください。- 結合した xts オブジェクト(
flights_temps)の先頭数行を確認し、結合が正しく行われたかを確かめます。フライトデータと気温データが行単位で対応しているはずです。 plot.zoo()を使って、flights_tempsからpct_delay列とtemps_monthly列の両方を含む単一のプロットを作成します。対象の列をサブセットし、plot.typeを"single"に指定してください。lty引数はそのままにしておきます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Use merge to combine your flights and temperature objects
flights_temps <- merge(___, ___)
# Examine the first few rows of your combined xts object
# Use plot.zoo to plot these two columns in a single panel
plot.zoo(___[,c("___", "___")], plot.type = "___", lty = lty)
legend("topright", lty = lty, legend = labels, bg = "white")