CommencezCommencez gratuitement

Parcourir les lignes d'un data frame

Imaginez que vous vous intéressiez aux jours où le cours de l'action d'Apple dépasse 117. S'il dépasse cette valeur, vous voulez afficher la date courante et le cours. Si vous avez 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? Absolument!

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 pour itérer de 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 jeu plusieurs notions vues jusqu'ici : instructions if, sous-ensemble de vecteurs, conditions et boucles! Félicitations pour tout ce que vous avez appris!

Le data frame stocks est à votre disposition.

Cette activité fait partie du cours

R intermédiaire pour la finance

Voir le cours

Instructions de l’exercice

  • Remplissez les espaces vides dans la boucle for pour que ce qui suit soit vrai :
    • price doit contenir le prix de l'itération courante
    • date doit contenir la date de l'itération courante
    • Cette fois, vous voulez savoir si apple dépasse 116.
    • Si c'est le cas, affichez la date et le price.
    • S'il est en dessous de 116, affichez la date et indiquez que ce n'était pas une journée importante!

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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