In R hat jedes "Objekt" ein mode
und ein class
. Ersteres stellt dar, wie ein Objekt im Speicher gespeichert wird (numerisch, Zeichen, Liste und Funktion), während letzteres seinen abstrakten Typ darstellt. Beispielsweise:
d <- data.frame(V1=c(1,2))
class(d)
# [1] "data.frame"
mode(d)
# [1] "list"
typeof(d)
# list
Wie Sie sehen können, werden Datenrahmen im Speicher gespeichert, list
aber sie werden in data.frame
Objekte eingewickelt . Letzteres ermöglicht die Verwendung von Mitgliedsfunktionen sowie Überladungsfunktionen wie zprint
mit einem benutzerdefinierten Verhalten.
typeof
( storage.mode
) geben normalerweise die gleichen Informationen wie, mode
aber nicht immer. Ein typisches Beispiel:
typeof(c(1,2))
# [1] "double"
mode(c(1,2))
# [1] "numeric"
Die Gründe dafür finden Sie hier :
Die R - spezifische Funktion Typeof den Typ eines R - Objekt zurückgibt
Funktionsmodus gibt Auskunft über den Modus eines Objekts im Sinne von Becker, Chambers & Wilks (1988), und ist kompatibel mit anderen Implementierungen der S Sprache
Der Link, den ich oben gepostet habe, enthält auch eine Liste aller nativen R basic types
(Vektoren, Listen usw.) und allercompound objects
(Faktoren und Datenrahmen) sowie einige Beispiele dafür mode
, wie typeof
und class
für jeden Typ verwandt sind.