Restituire metadati
A volte vuoi restituire più elementi da una funzione, ma desideri che il risultato abbia una classe specifica (per esempio un data frame o un vettore numerico), quindi restituire una lista non è appropriato. Questo è comune quando hai un risultato più dei metadati sul risultato. (I metadati sono "dati sui dati". Per esempio, potrebbero essere il file da cui è stato caricato un insieme di dati, il nome utente della persona che ha creato la variabile, o il numero di iterazioni necessarie perché un algoritmo converga.)
In questo caso, puoi salvare i metadati negli attributi. Ricorda che la sintassi per assegnare attributi è la seguente.
attr(object, "attribute_name") <- attribute_value
Questo esercizio fa parte del corso
Introduzione alla scrittura di funzioni in R
Istruzioni dell'esercizio
- Aggiorna
pipeable_plot()in modo che il risultato abbia un attributo chiamato"formula"con il valore diformula. plt_dist_vs_speed, che hai creato in precedenza, è mostrato. Esamina la sua struttura aggiornata.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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
___