Metadaten zurückgeben
Manchmal möchtest du mehrere Dinge aus einer Funktion zurückgeben, aber das Ergebnis soll eine bestimmte Klasse haben (zum Beispiel ein Data Frame oder ein numerischer Vektor). Dann ist es nicht passend, eine Liste zurückzugeben. Das ist typisch, wenn du ein Ergebnis plus Metadaten über dieses Ergebnis hast. (Metadaten sind „Daten über Daten“. Zum Beispiel die Datei, aus der ein Datensatz geladen wurde, der Benutzername der Person, die die Variable erstellt hat, oder die Anzahl der Iterationen, bis ein Algorithmus konvergiert.)
In diesem Fall kannst du die Metadaten in Attributen speichern. Zur Erinnerung: Die Syntax zum Zuweisen von Attributen lautet:
attr(object, "attribute_name") <- attribute_value
Diese Übung ist Teil des Kurses
Einführung in das Schreiben von Funktionen in R
Anleitung zur Übung
- Aktualisiere
pipeable_plot(), sodass das Ergebnis ein Attribut namens"formula"mit dem Wert vonformulaerhält. plt_dist_vs_speed, das du zuvor erstellt hast, ist angezeigt. Untersuche die aktualisierte Struktur.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
pipeable_plot <- function(data, formula) {
plot(formula, data)
# Add a "formula" attribute to data
___ <- ___
invisible(data)
}
# From previous exercise
plt_dist_vs_speed <- cars %>%
pipeable_plot(dist ~ speed)
# Examine the structure of the result
___