IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiorna pipeable_plot() in modo che il risultato abbia un attributo chiamato "formula" con il valore di formula.
  • 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
___
Modifica ed esegui il codice