Opérations vectorisées
Vous pouvez étendre le concept des opérateurs relationnels à des vecteurs de n’importe quelle longueur. Comparez deux vecteurs avec > pour obtenir un vecteur logique de même longueur, contenant TRUE quand le premier est supérieur au second, et FALSE sinon.
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
La comparaison d’un vecteur avec un seul nombre fonctionne aussi. R recyclera le nombre pour qu’il ait la même longueur que le vecteur :
apple > 120
[1] FALSE TRUE FALSE TRUE
Imaginez comment cela pourrait servir de signal d’achat/vente dans l’analyse boursière ! Un data frame, stocks, est à votre disposition.
Cet exercice fait partie du cours
R intermédiaire pour la finance
Instructions
- Affichez
stocks. - Vous souhaitez acheter
ibmlorsqu’il passe sous175. Utilisez$pour sélectionner la colonneibmet un opérateur logique pour savoir quand cela se produit. Ajoutez-la àstockssous la forme d’une colonneibm_buy. - Si
paneradépasse213, vendez. Utilisez un opérateur logique pour savoir quand cela se produit. Ajoutez-la àstockssous la forme d’une colonnepanera_sell. ibmest-il jamais au-dessus depanera? Ajoutez le résultat àstockssous la forme d’une colonneibm_vs_panera.- Affichez
stocks.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Print stocks
___
# IBM range
___$___ <-
# Panera range
___$___ <-
# IBM vs Panera
___$___ <-
# Print stocks
___