ComenzarEmpieza gratis

Recorre las filas de un data frame

Imagina que te interesan los días en los que el precio de la acción de Apple sube por encima de 117. Si supera ese valor, quieres imprimir la fecha y el precio actuales. Si tienes un data frame stock con una columna date y otra de precio apple, ¿podrías recorrer las filas del data frame para lograrlo? ¡Por supuesto que sí!

Antes de hacerlo, recuerda que puedes obtener el número de filas de tu data frame con nrow(stock). Después, puedes crear una secuencia 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"

Esto reúne varias cosas que hemos aprendido hasta ahora: if statements, subsetting de vectores, condicionales y loops. ¡Enhorabuena por todo lo que estás aprendiendo!

El data frame stocks está disponible para que lo uses.

Este ejercicio forma parte del curso

R intermedio para finanzas

Ver curso

Instrucciones del ejercicio

  • Rellena los huecos en el bucle for para que se cumpla lo siguiente:
    • price debe contener el precio de esa iteración.
    • date debe contener la fecha de esa iteración.
    • Esta vez, quieres saber si apple supera 116.
    • Si lo hace, imprime la date y el price.
    • Si estuvo por debajo de 116, imprime la date e indica que no fue un día importante.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código