ベクトル化された演算
関係演算子の考え方は、任意の長さのベクトルにも拡張できます。2つのベクトルを > で比較すると、同じ長さの論理ベクトルが返り、1つ目が2つ目より大きい位置では TRUE、それ以外は FALSE になります。
apple <- c(120.00, 120.08, 119.97, 121.88)
datacamp <- c(118.5, 124.21, 125.20, 120.22)
apple > datacamp
[1] TRUE FALSE FALSE TRUE
ベクトルと単一の数値の比較も可能です。R は数値をベクトルと同じ長さになるようにリサイクルします。
apple > 120
[1] FALSE TRUE FALSE TRUE
これが株式分析の売買シグナルとしてどう使えるか、想像できますね。データフレーム stocks が用意されています。
この演習はコースの一部です
金融のための中級R
演習の手順
stocksを出力してください。ibmが175を下回ったら買いたいとします。$でibm列を選び、これが起きるタイミングを論理演算子で判定してください。結果をibm_buy列としてstocksに追加します。paneraが213を上回ったら売ります。これが起きるタイミングを論理演算子で判定してください。結果をpanera_sell列としてstocksに追加します。ibmがpaneraを上回ることはありますか? 結果をibm_vs_panera列としてstocksに追加します。stocksを出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print stocks
___
# IBM range
___$___ <-
# Panera range
___$___ <-
# IBM vs Panera
___$___ <-
# Print stocks
___