Weiß jemand, was ein Slot in R ist?
Ich habe die Erklärung seiner Bedeutung nicht gefunden. Ich erhalte eine rekursive Definition: "Die Slot-Funktion gibt Informationen zu den einzelnen Slots eines Objekts zurück oder legt diese fest."
Hilfe wäre dankbar, Danke - Alley
slot()
Funktion hervor - sie soll nicht dokumentieren, was ein Steckplatz ist, sondern nur, wie man darauf zugreift.Antworten:
Slots sind mit S4-Objekten verknüpft. Ein Slot kann als Teil, Element oder "Eigenschaft" eines Objekts angesehen werden. Angenommen, Sie haben ein Autoobjekt, dann können Sie die Steckplätze "Preis", "Anzahl der Türen", "Motortyp", "Kilometerstand" haben.
Intern ist das eine Liste dargestellt. Ein Beispiel :
setClass("Car",representation=representation( price = "numeric", numberDoors="numeric", typeEngine="character", mileage="numeric" )) aCar <- new("Car",price=20000,numberDoors=4,typeEngine="V6",mileage=143) > aCar An object of class "Car" Slot "price": [1] 20000 Slot "numberDoors": [1] 4 Slot "typeEngine": [1] "V6" Slot "mileage": [1] 143
Hier sind Preis, Anzahl Türen, Typ Motor und Kilometerstand Slots der S4-Klasse "Auto". Dies ist ein triviales Beispiel, in Wirklichkeit können Slots selbst wieder komplexe Objekte sein.
Auf Slots kann auf verschiedene Arten zugegriffen werden:
> aCar@price [1] 20000 > slot(aCar,"typeEngine") [1] "V6"
oder durch die Konstruktion einer bestimmten Methode (siehe zusätzliche Dokumentation).
Weitere Informationen zur S4-Programmierung finden Sie in dieser Frage . Wenn das Konzept für Sie immer noch vage klingt, kann eine allgemeine Einführung in die objektorientierte Programmierung hilfreich sein.
PS: Beachten Sie den Unterschied zu Datenrahmen und Listen, mit denen Sie
$
auf benannte Variablen / Elemente zugreifen.quelle
slot(aCar, "price")
eine andere Verwendung hinzufügen , zumal die Operation dieslot()
Funktion betrachtetegetSlots()
oderslotNames()
für deren Namen.So wie
names(variable)
alle$
zugänglichen Namen einer komplexen Variablen aufgelistet sind, so auchslotNames(object)
listet alle Slots eines Objekts auf.Sehr praktisch, um herauszufinden, welche Extras Ihr Fit-Objekt für Ihr Sehvergnügen enthält.
quelle
Versuchen Sie zusätzlich zu den Ressourcen, auf die @Joris Sie verweist, und seiner eigenen Antwort, zu lesen
?Classes
, einschließlich der folgenden Informationen zu Slots:Slots: The data contained in an object from an S4 class is defined by the _slots_ in the class definition. Each slot in an object is a component of the object; like components (that is, elements) of a list, these may be extracted and set, using the function ‘slot()’ or more often the operator ‘"@"’. However, they differ from list components in important ways. First, slots can only be referred to by name, not by position, and there is no partial matching of names as with list elements. ....
quelle
Keine Ahnung, warum R alles neu definieren muss. Die meisten normalen Programmiersprachen nennen sie "Eigenschaften" oder "Attribute".
quelle