LoslegenKostenlos loslegen

Vereinfachen fehlgeschlagen

Für die interaktive Nutzung ist sapply() super. Es rät den Ausgabetyp, um zu vereinfachen, und das ist normalerweise in Ordnung. Beim Schreiben eigener Funktionen ist sapply() jedoch keine sichere Wahl. Wenn sapply() deine Ausgabe nicht vereinfachen kann, gibt es standardmäßig eine Liste zurück – genau wie lapply(). Das kann gefährlich sein und eigene Funktionen kaputtmachen, wenn du erwartet hast, dass sapply() einen vereinfachten Vektor zurückgibt.

Schauen wir uns eine Übung mit einer Liste an, die Informationen über den Börsencrash von 2008 enthält.

Diese Übung ist Teil des Kurses

R für Finanzen – Aufbaukurs

Kurs anzeigen

Anleitung zur Übung

Die Liste market_crash wurde für dich erstellt.

  • Verwende sapply(), um die class() jedes Elements in market_crash zu ermitteln.


Es wurde eine neue Liste market_crash2 erstellt. Der Unterschied liegt in der Erstellung des Datums!

  • Verwende lapply(), um die class() jedes Elements in market_crash2 zu ermitteln.
  • Verwende sapply(), um die class() jedes Elements in market_crash2 zu ermitteln.


date in market_crash2 hat mehrere Klassen. Warum konnte sapply() das nicht vereinfachen?

Interaktive Übung

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

# Market crash with as.Date()
market_crash <- list(dow_jones_drop = 777.68, 
                     date = as.Date("2008-09-28"))
                     
# Find the classes with sapply()
___

# Market crash with as.POSIXct()
market_crash2 <- list(dow_jones_drop = 777.68, 
                      date = as.POSIXct("2008-09-28"))

# Find the classes with lapply()
___

# Find the classes with sapply()
___
Code bearbeiten und ausführen