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
Instrucciones del ejercicio
- Actualiza
pipeable_plot()para que el resultado tenga un atributo llamado"formula"con el valor deformula. - 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
___