LoslegenKostenlos loslegen

Sehr vornehm

Variablen können mehr als eine Klasse haben. In diesem Fall gibt class() (Docs) einen Character-Vektor mit einer Länge größer als 1 zurück.

Ebenso kannst du mehrere Klassen setzen, indem du class() einen Character-Vektor zuweist. Die Klassen sollten von links nach rechts von spezifisch nach allgemein geordnet sein, da du mit dem Verhalten beginnen willst, das am besten zu deinem Objekt passt. Zum Beispiel:

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

Mit der universellen Funktion inherits() (Docs) kannst du auf andere Klassen prüfen. Zum Beispiel:

inherits(x, "vowels")

Diese Übung ist Teil des Kurses

Objektorientierte Programmierung mit S3 und R6 in R

Kurs anzeigen

Anleitung zur Übung

Die Variable kitty wurde in deinem Workspace vordefiniert.

  • Zeige kitty an, indem du den Namen tippst.
  • Weise der Variablen kitty die Klassen "cat", "mammal" und "character" zu.
  • Prüfe mit inherits(), dass kitty nacheinander (in dieser Reihenfolge) die Klassen "cat", "mammal", "character" hat.
  • Prüfe, dass kitty weiterhin ein Character-Vektor ist, mit is.character().
  • Prüfe, dass kitty nicht die Klasse "dog" hat.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# View the kitty
kitty

# Assign classes
___ <- ___

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

# Is kitty a character vector?
___

# Does kitty inherit from dog?
___
Code bearbeiten und ausführen