複数のインストゥルメントを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