CommencerCommencer gratuitement

Très classe

Les variables peuvent avoir plusieurs classes. Dans ce cas, class() (docs) renvoie un vecteur de caractères de longueur supérieure à 1.

Vous pouvez également définir plusieurs classes en affectant un vecteur de caractères à class(). Les classes doivent être ordonnées de la plus spécifique à la plus générale de gauche à droite, afin de commencer par le comportement le plus adapté à votre objet. Par exemple :

x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")

Vous pouvez vérifier les autres classes avec la fonction générique inherits() (docs). Par exemple :

inherits(x, "vowels")

Cet exercice fait partie du cours

Programmation orientée objet avec S3 et R6 en R

Afficher le cours

Instructions

La variable kitty a été prédéfinie dans votre espace de travail.

  • Affichez kitty en tapant simplement son nom.
  • Attribuez les classes "cat", "mammal" et "character" à la variable kitty.
  • Vérifiez que kitty a la classe "cat", puis "mammal", puis "character" (une par une, dans cet ordre) en utilisant inherits().
  • Vérifiez que kitty est toujours un vecteur de caractères avec is.character().
  • Vérifiez que kitty n’a pas la classe "dog".

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# View the kitty
kitty

# Assign classes
___ <- ___

# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___

# Is kitty a character vector?
___

# Does kitty inherit from dog?
___
Modifier et exécuter le code