ComeçarComece de graça

Iterar sobre as linhas de um data frame

Imagine que você está interessado nos dias em que o preço das ações da Apple sobe acima de 117. Se passar desse valor, você quer imprimir a data e o preço atuais. Se você tiver um data frame stock com uma coluna de date e outra de preço apple, será que dá para iterar pelas linhas do data frame para fazer isso? Com certeza!

Antes de começar, note que você pode obter o número de linhas do seu data frame usando nrow(stock). Em seguida, pode criar uma sequência para iterar 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"

Isso reúne várias coisas que aprendemos até agora: if statements, subconjuntos de vetores, condicionais e loops! Parabéns por aprender tanto!

O data frame stocks está disponível para você usar.

Este exercício faz parte do curso

R Intermediário para Finanças

Ver curso

Instruções do exercício

  • Preencha os espaços em branco no laço for para que o seguinte seja verdadeiro:
    • price deve guardar o preço daquela iteração
    • date deve guardar a data daquela iteração
    • Desta vez, você quer saber se apple passa de 116.
    • Se passar, imprima o date e o price.
    • Se ficar abaixo de 116, imprima o date e informe que não foi um dia importante!

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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!"))
    }
}
Editar e executar o código