始める無料で始める

rbind() を使ったマージ

温度データの構造と範囲がわかったので、次はこれらのオブジェクトを xts に変換し、rbind() を使って結合します。

オブジェクトを xts に変換する前に、時系列インデックスとなる列を特定し、その列が時間ベースのオブジェクトとしてエンコードされていることを確認します。今回は、temps_1temps_2date 列のクラスを確認しましょう。適切な時間ベースのインデックスを特定できたら、両方のオブジェクトを xts にエンコードし、行方向にマージできます。

temps_1temps_2 はワークスペースに用意されており、xts パッケージは読み込まれています。

この演習はコースの一部です

ケーススタディ:Rで都市の時系列データを分析する

コースを見る

演習の手順

  • 2 回の class() 呼び出しを使って、temps_1temps_2date 列が時間ベースのオブジェクト(Date、POSIXct、POSIXlt、yearmon など)としてエンコードされているか確認します。
  • as.xts() を用いて、各温度データフレーム(temps_1temps_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"), "___")
コードを編集して実行