ComenzarEmpieza gratis

Devolver metadatos

A veces quieres devolver varias cosas desde una función, pero necesitas que el resultado tenga una clase concreta (por ejemplo, un data frame o un vector numérico), así que devolver una lista no es adecuado. Esto es habitual cuando tienes un resultado junto con metadatos sobre ese resultado. (Los metadatos son "datos sobre los datos". Por ejemplo, pueden ser el archivo del que se cargó un conjunto de datos, el nombre de usuario de quien creó la variable, o el número de iteraciones para que un algoritmo converja.)

En ese caso, puedes guardar los metadatos en atributos. Recuerda que la sintaxis para asignar atributos es la siguiente.

attr(object, "attribute_name") <- attribute_value

Este ejercicio forma parte del curso

Introducción a la escritura de funciones en R

Ver curso

Instrucciones del ejercicio

  • Actualiza pipeable_plot() para que el resultado tenga un atributo llamado "formula" con el valor de formula.
  • Se muestra plt_dist_vs_speed, que creaste antes. Examina su estructura actualizada.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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
___
Editar y ejecutar código