Frage
In Paketen wie Marray und Limma, Wenn komplexe Objekte geladen werden, enthalten sie "Mitgliedervariablen", auf die mit dem @ -Symbol zugegriffen wird. Was bedeutet das und wie unterscheidet es sich vom $ -Symbol?
Lösung
Sehen ?'@'
:
Beschreibung:
Extrahieren Sie den Inhalt eines Schlitzes in einem Objekt mit einer formalen Klassenstruktur (S4).
Verwendungszweck:
object@name
...
Die S -Sprache hat zwei Objektsysteme, die informell als S3 und S4 bekannt sind.
- S3 -Objekte, Klassen und Methoden waren von Anfang an in R erhältlich, sie sind noch informell Sehr interaktiv. S3 wurde zuerst in der beschrieben Weißes Buch (Statistische Modelle in s).
- S3 ist kein echtes Klassensystem, es ist meistens eine Reihe von Namenskonventionen.
- S4 -Objekte, Klassen und Methoden sind viel formaler und strenger, daher Weniger interaktiv. S4 wurde zuerst in der beschrieben Grünes Buch (Programmierung mit Daten). In r ist es über die erhältlich
methods
Paket, standardmäßig seit Version 1.7.0 angehängt.
Siehe auch dieses Dokument: S4 -Klassen und -Methoden.
Andere Tipps
Wie die anderen gesagt haben, wird das @ -Symbol mit S4 -Klassen verwendet, aber hier ist eine Notiz von Googles R Style Guide: "Verwenden Sie S3 -Objekte und -Methoden, es sei denn, es gibt einen starken Grund, S4 -Objekte oder -Methoden zu verwenden."
Sie möchten sich über S4 -Klassen informieren, die das @ -Symbol verwenden.