Ich lese gerade das Buch "R in a Nutshell". Und es scheint, als hätte ich den Teil übersprungen, in dem das "." wie in "sample.formula" erklärt wurde.
> sample.formula <- as.formula(y~x1+x2)
Ist sample ein Objekt mit einer Feldformel wie in anderen Sprachen? Und wenn ja, wie kann ich herausfinden, welche anderen Felder / Funktionen dieses Objekt hat? (Typdeklaration)
EDIT: Ich fand gerade eine andere verwirrende Verwendung des ".":
> svm(formula = is_spam~., data = spambase.training)
(der Punkt zwischen ~.,)
.
Formel in R an, alle Variablen im Datenrahmenspambase.training
(außeris_spam
) als Prädiktoren zu verwenden. Das Modell passt zu .y ~ 1
Antworten:
Der Punkt kann wie im normalen Namen verwendet werden. Es hat jedoch zusätzliche spezielle Interpretation. Angenommen, wir haben ein Objekt mit einer bestimmten Klasse:
Deklarieren Sie nun
myfunction
wie folgt als Standard-Generikum:Deklarieren Sie nun die Funktion
Dann hat der Punkt eine besondere Bedeutung. Für alle Objekte mit Klasse
myclass
Berufungwird tatsächlich die Funktion aufrufen
myfunction.myclass
:Dies wird häufig in R verwendet, das am besten geeignete Beispiel ist die Funktion
summary
. Jede Klasse hat ihre eigenesummary
Funktion. Wenn Sie also beispielsweise ein Modell anpassen (das normalerweise ein Objekt mit einer bestimmten Klasse zurückgibt), müssen Sie dies aufrufensummary
und die entsprechende Zusammenfassungsfunktion für dieses bestimmte Modell aufrufen.quelle
...
(die ein einzelnes Lexem ist, nicht eine Folge von drei verschiedenen) als "Punkt", während die Frage eindeutig einen Punkt bedeutet,.
wie er in Formeln und Namen auf eine völlig andere Art und Weise verwendet wird, wie es in einem Zeitgenossen richtig beschrieben wird antworte per Chase.Schauen Sie auf der Hilfeseite nach
?formula
in Bezug auf.
Hier sind die relevanten Bits:Alternativ können die
reshape
undreshape2
verwenden , um Pakete.
und...
ein bisschen anders (aus?cast
):quelle
Es gibt einige Ausnahmen (S3-Versandmethode), aber im Allgemeinen wird es nur als Lesbarkeitshilfe verwendet und hat als solche keine besondere Bedeutung.
quelle
.
. Das betrifft Namen von Funktionen. Bezüglich der Namen von (nicht funktionsfähigen) Objekten gibt es dann ja keine spezielle Bedeutung..
macht a das Objekt jedoch unsichtbarls()
.Der Punkt in sample.formula trennt die Probe nur optisch von der Formel . Es ist nur ein Variablenname. R-Variablennamen können mit einer Ausnahme aus alphanumerischen Zeichen sowie Punkt (.) Und Unterstrich (_) bestehen. Hier ist die eigentliche Regel:
" Ein syntaktisch gültiger Name besteht aus Buchstaben, Zahlen und dem Punkt oder der Unterstreichung und beginnt mit einem Buchstaben oder dem Punkt, auf den keine Zahl folgt. Namen wie" .2way "sind ungültig und die reservierten Wörter auch nicht. "
Der zweite Fall (dh der Fall von is_spam ~. ) Ist anders und wird oben erläutert.
quelle