rbind() を使ったマージ
温度データの構造と範囲がわかったので、次はこれらのオブジェクトを xts に変換し、rbind() を使って結合します。
オブジェクトを xts に変換する前に、時系列インデックスとなる列を特定し、その列が時間ベースのオブジェクトとしてエンコードされていることを確認します。今回は、temps_1 と temps_2 の date 列のクラスを確認しましょう。適切な時間ベースのインデックスを特定できたら、両方のオブジェクトを xts にエンコードし、行方向にマージできます。
temps_1 と temps_2 はワークスペースに用意されており、xts パッケージは読み込まれています。
この演習はコースの一部です
ケーススタディ:Rで都市の時系列データを分析する
演習の手順
- 2 回の
class()呼び出しを使って、temps_1とtemps_2のdate列が時間ベースのオブジェクト(Date、POSIXct、POSIXlt、yearmon など)としてエンコードされているか確認します。 as.xts()を用いて、各温度データフレーム(temps_1とtemps_2)を別々の xts オブジェクトにエンコードします。order.by引数には該当する時間ベースの列を指定してください。また、data[, -column]の形式で時間ベースの列を削除することも忘れないでください。- 2 回の
head()呼び出しで、新しい xts オブジェクトが正しく整形されているか確認します。 - xts オブジェクトに対して
rbind()を使い、1 つのオブジェクトtemps_xtsにマージします。 first()とlast()を組み合わせて、temps_xtsの「最初の年」の「最後の月」の「最初の3日間」のデータを特定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Confirm that the date column in each object is a time-based class
class(___)
class(___)
# Encode your two temperature data frames as xts objects
temps_1_xts <- as.xts(___[, -4], order.by = ___)
temps_2_xts <- ___
# View the first few lines of each new xts object to confirm they are properly formatted
head(___)
head(___)
# Use rbind to merge your new xts objects
temps_xts <- ___
# View data for the first 3 days of the last month of the first year in temps_xts
___(___(first(___, "1 year"), "1 month"), "___")