始める無料で始める

複数のインストゥルメントを1つのオブジェクトに結合する

1つのやり方は、新しい環境にデータをインポートする方法です。その後、eapply() を使って環境内の各オブジェクトに関数を適用できます。これは、リストの各要素に対して関数を適用する lapply() とよく似ています。lapply() と同様に、eapply() もリストを返します。

その後、do.call() を使ってリストのすべての要素を1つのオブジェクトにマージできます。これは、R にコマンドをプログラム的に入力して実行させるようなものです。merge(my_list[[1]], my_list[[2]]], ...) と手で書く代わりに、do.call(merge, my_list) と書けます。

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

Rで学ぶ金融データのインポートと管理

コースを見る

演習の手順

  • eapply() を使って、data_env の各オブジェクトに head() を適用してください。結果を data_list に代入します。
  • do.call()merge() を使って、data_list のすべての要素を1つの xts オブジェクトに結合し、data_merged という名前を付けてください。
  • 環境内のオブジェクトには順序がないため、data_merged の列順は保証されません。OHLC() を使って列を並べ替え、結果を data_ohlc に保存してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Call head on each object in data_env using eapply
data_list <- ___(data_env, ___)

# Merge all the data_list elements into one xts object
data_merged <- ___(___, data_list)

# Ensure the columns are ordered: open, high, low, close
コードを編集して実行