CommencerCommencer gratuitement

Parcourir les lignes d’un data frame

Imaginez que vous vous intéressiez aux jours où le cours de l’action Apple dépasse 117. S’il dépasse cette valeur, vous voulez afficher la date du jour et le cours associé. Si vous disposez d’un data frame stock avec une colonne date et une colonne de prix apple, pourriez-vous parcourir les lignes du data frame pour y parvenir ? Bien sûr !

Avant de le faire, notez que vous pouvez obtenir le nombre de lignes de votre data frame avec nrow(stock). Ensuite, vous pouvez créer une séquence à parcourir avec 1:nrow(stock).

for (row in 1:nrow(stock)) {
    price <- stock[row, "apple"]
    date  <- stock[row, "date"]

    if(price > 117) {
        print(paste("On", date, 
                    "the stock price was", price))
    }
}
[1] "On 2016-12-21 the stock price was 117.06"
[1] "On 2016-12-27 the stock price was 117.26"

Cela met en œuvre plusieurs notions vues jusqu’ici : instructions if, extraction de sous-ensembles, conditions et boucles ! Félicitations pour tout ce que vous avez appris !

Le data frame stocks est à votre disposition.

Cet exercice fait partie du cours

R intermédiaire pour la finance

Afficher le cours

Instructions

  • Complétez les blancs dans la boucle for pour que les conditions suivantes soient respectées :
    • price doit contenir le prix de l’itération en cours
    • date doit contenir la date de l’itération en cours
    • Cette fois, vous voulez savoir si apple dépasse 116.
    • Si c’est le cas, affichez la date et le price.
    • S’il est inférieur à 116, affichez la date et indiquez que ce n’était pas une journée importante !

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Loop over stock rows
for (row in 1:___) {
    price <- stock[___, "___"]
    date  <- stock[___, "___"]

    if(___ > ___) {
        print(paste("On", ___, 
                    "the stock price was", ___))
    } else {
        print(paste("The date:", ___, 
                    "is not an important day!"))
    }
}
Modifier et exécuter le code