LoslegenKostenlos loslegen

Über Datenrahmen-Zeilen iterieren

Stell dir vor, du interessierst dich für die Tage, an denen der Aktienkurs von Apple über 117 steigt. Wenn er über diesen Wert geht, möchtest du das aktuelle Datum und den Aktienkurs ausgeben. Wenn du einen stock-Datenrahmen mit einer date- und einer apple-Preisspalte hast, könntest du über die Zeilen des Datenrahmens iterieren, um das zu erreichen? Auf jeden Fall!

Bevor du das tust, beachte, dass du die Anzahl der Zeilen in deinem Datenrahmen mit nrow(stock) ermitteln kannst. Dann kannst du eine Sequenz erstellen, über die du mit 1:nrow(stock) iterierst.

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"

Das kombiniert eine Reihe von Dingen, die wir bisher gelernt haben: if-Anweisungen, das Teilmengenbilden von Vektoren, Bedingungen und Schleifen! Glückwunsch, dass du schon so viel gelernt hast!

Der Datenrahmen stocks steht dir zur Verfügung.

Diese Übung ist Teil des Kurses

R für Finanzen – Aufbaukurs

Kurs anzeigen

Anleitung zur Übung

  • Fülle die Lücken in der for-Schleife so aus, dass Folgendes gilt:
    • price soll den Preis der aktuellen Iteration enthalten
    • date soll das Datum der aktuellen Iteration enthalten
    • Dieses Mal möchtest du wissen, ob apple über 116 steigt.
    • Falls ja, gib date und price aus.
    • Falls er unter 116 lag, gib das date aus und dass es kein wichtiger Tag war!

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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!"))
    }
}
Code bearbeiten und ausführen