Renvoyer des métadonnées
Parfois, vous souhaitez renvoyer plusieurs éléments depuis une fonction, mais vous voulez que le résultat ait une classe particulière (par exemple, un data frame ou un vecteur numérique), donc renvoyer une liste n’est pas approprié. C’est courant lorsque vous avez un résultat plus des métadonnées sur ce résultat. (Les métadonnées sont des « données sur les données ». Par exemple, il peut s’agir du fichier depuis lequel un jeu de données a été chargé, du nom d’utilisateur de la personne qui a créé la variable, ou du nombre d’itérations nécessaires à la convergence d’un algorithme.)
Dans ce cas, vous pouvez stocker les métadonnées dans des attributs. Rappelez-vous que la syntaxe pour attribuer des attributs est la suivante.
attr(object, "attribute_name") <- attribute_value
Cet exercice fait partie du cours
Introduction à l’écriture de fonctions en R
Instructions
- Mettez à jour
pipeable_plot()afin que le résultat ait un attribut nommé"formula"avec la valeur deformula. plt_dist_vs_speed, que vous avez créé précédemment, est affiché. Examinez sa structure mise à jour.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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
___