Créer une méthode S3 (1)
À elle seule, la fonction générique ne fait rien. Pour cela, vous devez créer des méthodes, qui sont simplement des fonctions ordinaires avec deux conditions :
- Le nom de la méthode doit être de la forme
generic.class. - La signature de la méthode — c’est-à-dire les arguments passés à la méthode — doit contenir la signature de la générique.
La syntaxe est :
generic.class <- function(some, arguments, ...) {
# Faire quelque chose
}
Cet exercice fait partie du cours
Programmation orientée objet avec S3 et R6 en R
Instructions
La fonction générique get_n_elements() a été définie dans votre espace de travail.
- Tapez son nom (sans parenthèses) pour voir comment elle fonctionne.
- Écrivez une méthode S3 pour calculer le nombre d’éléments d’un objet
data.frame.- Le nom de la fonction doit être le nom de la générique, puis un
.puis le nom de la classe de l’entrée. - Les arguments d’entrée doivent être
xet.... - Le corps de la fonction doit tenir sur une seule ligne et renvoyer le nombre d’éléments (lignes multipliées par colonnes) d’un data frame.
- Le nom de la fonction doit être le nom de la générique, puis un
- Appelez
get_n_elementssur le jeu de donnéessleep(docs) et affectez le résultat à la variablen_elements_sleep. - Affichez
n_elements_sleepdans la console pour voir le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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