論理値と subset()
ちょっと面白い問題です。ある条件が真かどうかを示す論理ベクトルの作り方はわかりましたね。では、その条件が真の行だけを含むようにデータフレームを抽出できるでしょうか?
もし Introduction to R for Finance を受講していれば、subset() 関数を覚えているかもしれません。subset() は引数としてデータフレーム(またはベクター/行列)と、返す行を指定する論理ベクトルを取ります。
stocks
date ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
3 2017-01-24 175.90 213.55
4 2017-01-25 178.29 212.22
subset(stocks, ibm < 175)
date ibm panera
1 2017-01-20 170.55 216.65
2 2017-01-23 171.03 216.06
便利ですよね。stocks データフレームは用意されていますので、自由に使ってください。
この演習はコースの一部です
金融のための中級R
演習の手順
paneraが216より大きい行だけになるように、stocksを抽出してください。dateが"2017-01-23"に等しい行を取得するように、stocksを抽出してください。as.Date()を忘れずに!ibmが175未満 かつpaneraが216.50未満の行を取得するように、stocksを抽出してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Panera range
___
# Specific date
___
# IBM and Panera joint range
___