IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Compila gli spazi vuoti nel for loop per ottenere quanto segue:
    • price deve contenere il prezzo di quell'iterazione
    • date deve contenere la data di quell'iterazione
    • Questa volta, vuoi sapere se apple supera 116.
    • Se succede, stampa la date e il price.
    • Se era sotto 116, stampa la date e 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!"))
    }
}
Modifica ed esegui il codice