Crear un método S3 (1)
Por sí sola, la función genérica no hace nada. Para eso, necesitas crear métodos, que son funciones normales con dos condiciones:
- El nombre del método debe tener el formato
generic.class. - La signatura del método —es decir, los argumentos que se le pasan— debe incluir la signatura del genérico.
La sintaxis es:
generic.class <- function(some, arguments, ...) {
# Haz algo
}
Este ejercicio forma parte del curso
Programación orientada a objetos con S3 y R6 en R
Instrucciones del ejercicio
La función genérica get_n_elements() ya está definida en tu espacio de trabajo.
- Escribe su nombre (sin paréntesis) para ver cómo funciona.
- Escribe un método S3 para calcular el número de elementos en un objeto de clase
data.frame.- El nombre de la función debe ser el del genérico, luego un
.y luego el nombre de la clase de la entrada. - Los argumentos de entrada deben ser
xy.... - El cuerpo de la función debe ser una sola línea que devuelva el número de elementos (filas por columnas) en un data frame.
- El nombre de la función debe ser el del genérico, luego un
- Llama a
get_n_elementssobre el conjunto de datossleep(docs) y asigna el resultado a la variablen_elements_sleep. - Imprime
n_elements_sleepen la consola para ver el resultado.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# View get_n_elements
get_n_elements
# Create a data.frame method for get_n_elements
___ <- ___
# Call the method on the sleep dataset
n_elements_sleep <- ___
# View the result
n_elements_sleep