CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Mettez à jour pipeable_plot() afin que le résultat ait un attribut nommé "formula" avec la valeur de formula.
  • 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
___
Modifier et exécuter le code