Ciclare sulle righe di un data frame
Immagina di essere interessato ai giorni in cui il prezzo delle azioni di Apple sale oltre 117. Se supera questo valore, vuoi stampare la data corrente e il prezzo dell'azione. Se hai un data frame stock con una colonna date e una colonna del prezzo apple, puoi ciclare sulle righe del data frame per ottenere questo risultato? Certo che sì!
Prima di farlo, ricorda che puoi ottenere il numero di righe del tuo data frame con nrow(stock). Poi, puoi creare una sequenza su cui ciclare con 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"
Questo mette insieme diverse cose che abbiamo imparato finora: if statement, sottoinsiemi di vettori, condizioni e loop! Complimenti per tutto quello che hai imparato!
Il data frame stocks è a tua disposizione.
Questo esercizio fa parte del corso
R intermedio per la finanza
Istruzioni dell'esercizio
- Compila gli spazi vuoti nel for loop per ottenere quanto segue:
pricedeve contenere il prezzo di quell'iterazionedatedeve contenere la data di quell'iterazione- Questa volta, vuoi sapere se
applesupera116. - Se succede, stampa la
datee ilprice. - Se era sotto
116, stampa ladatee indica che non è stato un giorno importante!
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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!"))
}
}