LoslegenKostenlos starten

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

<Kurs>Objektorientierte Programmierung mit S3 und R6 in R</Kurs>
Kurs ansehen

Übungsanweisungen

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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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