CommencerCommencer gratuitement

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 :

  1. Le nom de la méthode doit être de la forme generic.class.
  2. 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

Afficher le cours

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 x et ....
    • 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.
  • Appelez get_n_elements sur le jeu de données sleep (docs) et affectez le résultat à la variable n_elements_sleep.
  • Affichez n_elements_sleep dans 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
Modifier et exécuter le code