Zwracanie metadanych
Czasem chcesz zwrócić z funkcji kilka rzeczy, ale wynik ma mieć określoną klasę – na przykład ramki danych lub wektora liczbowego – i zwracanie listy nie jest wtedy odpowiednim rozwiązaniem. Taka sytuacja zdarza się, gdy masz wynik wraz z metadanymi na jego temat. (Metadane to „dane o danych". Mogą to być na przykład informacje o pliku, z którego załadowano zbiór danych, nazwa użytkownika, który utworzył zmienną, albo liczba iteracji potrzebnych do zbieżności algorytmu.)
W takim przypadku możesz przechować metadane w atrybutach. Przypomnij sobie składnię przypisywania atrybutów:
attr(object, "attribute_name") <- attribute_value
To ćwiczenie jest częścią kursu
Wprowadzenie do pisania funkcji w R
Instrukcje do ćwiczenia
- Zaktualizuj funkcję
pipeable_plot()tak, aby wynik miał atrybut o nazwie"formula"z wartościąformula. plt_dist_vs_speed, który wcześniej utworzyłeś, jest już wyświetlony. Sprawdź jego zaktualizowaną strukturę.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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
___