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
Instrucciones del ejercicio
- Rellena los huecos en el bucle for para que se cumpla lo siguiente:
pricedebe contener el precio de esa iteración.datedebe contener la fecha de esa iteración.- Esta vez, quieres saber si
applesupera116. - Si lo hace, imprime la
datey elprice. - Si estuvo por debajo de
116, imprime ladatee 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!"))
}
}