Returnarea metadatelor
Uneori vrei să returnezi mai multe lucruri dintr-o funcție, dar ai nevoie ca rezultatul să aibă o anumită clasă (de exemplu, un data frame sau un vector numeric) – prin urmare, returnarea unei liste nu este potrivită. Această situație apare des când ai un rezultat însoțit de metadate despre acel rezultat. (Metadatele sunt „date despre date". De exemplu, pot fi fișierul din care a fost încărcat un set de date, numele de utilizator al persoanei care a creat variabila sau numărul de iterații necesare pentru ca un algoritm să conveargă.)
În acest caz, poți stoca metadatele în atribute. Reamintește-ți că sintaxa pentru atribuirea atributelor este:
attr(object, "attribute_name") <- attribute_value
Acest exercițiu face parte din cursul
Introducere în scrierea funcțiilor în R
Instrucțiuni pentru exercițiu
- Actualizează
pipeable_plot()astfel încât rezultatul să aibă un atribut numit"formula"cu valoarea luiformula. plt_dist_vs_speed, creat anterior, este afișat. Examinează-i structura actualizată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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
___