Vracení metadat
Někdy chceš z funkce vrátit více věcí najednou, ale zároveň potřebuješ, aby výsledek měl určitou třídu (například datový rámec nebo numerický vektor) – v takovém případě vrácení seznamu není vhodné. Tato situace nastává, když máš výsledek spolu s metadaty o něm. (Metadata jsou „data o datech". Může jít například o soubor, ze kterého byla datová sada načtena, o uživatelské jméno osoby, která proměnnou vytvořila, nebo o počet iterací potřebných ke konvergenci algoritmu.)
V takovém případě můžeš metadata uložit do atributů. Syntaxe pro přiřazení atributu je následující:
attr(object, "attribute_name") <- attribute_value
Toto cvičení je součástí kurzu
Introduction to Writing Functions in R
Pokyny k cvičení
- Uprav funkci
pipeable_plot()tak, aby výsledek měl atribut pojmenovaný"formula"s hodnotouformula. plt_dist_vs_speed, který jsi dříve vytvořil/a, je zobrazena. Prozkoumej její aktualizovanou strukturu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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
___