Bedeutung von "I" in der R-Sprache

8

Natürlich hatte ich wenig Erfolg, Google nach "R I", "I in R" und "R I" zu suchen.

  • Die R-Hilfe lautet "Ändere die Klasse von ein Objekt, das anzeigt, dass es so behandelt werden soll, wie es ist. "
  • Mein O'Reilly R Buch hat keinen Eintrag dafür in seinem Index.
  • Mein Cambridge-Buch sagt im Wesentlichen, über "I (logdist ^ 2)": "stellt sicher, dass das Quadrat als eine Interaktion von logdist genommen wird".

Kann jemand den Kommentar "Interaktion" erklären? Kann jemand erklären, warum "logdist ^ 2" nicht auf traditionelle Weise interpretiert wird?

    
Dustin Oprea 15.01.2015, 04:55
quelle

2 Antworten

4

Von Seite 89 von R in Kürze

Caret ( ^ ) [wird] Wird verwendet, um eine Kreuzung bis zu einem bestimmten Grad anzuzeigen. Zum Beispiel:

%Vor%

entspricht

%Vor%

Identitätsfunktion ( I() ) Wird verwendet, um anzuzeigen, dass der eingeschlossene Ausdruck durch seine arithmetische Bedeutung interpretiert werden soll. Zum Beispiel

%Vor%

bedeutet, dass sowohl a als auch b in der Formel enthalten sein sollten. Die Formel:

%Vor%

bedeutet, dass " a plus b " in die Formel eingeschlossen werden sollte. Siehe auch ?AsIs()

    
r.bot 15.01.2015 09:28
quelle
0

Ich denke, Ihre Verwirrung ist, dass I sehr selten als eigenständiger Operator verwendet wird. Wie auf der Hilfeseite angegeben, wird sie am häufigsten dazu verwendet, Operatorzeichen (^, ​​+, * usw.) so zu interpretieren, wie sie in formula vorkommen. Wie die Antwort von user2633645 besagt, haben diese Zeichen bestimmte Bedeutungen in formula . Zitieren von der Hilfeseite für stats::formula ,

  

Der Operator ~ ist grundlegend für die Bildung solcher Modelle. Ein Ausdruck der Form y ~ Modell wird als eine Spezifikation interpretiert, dass die Antwort y durch einen linearen Prädiktor modellhaft modelliert wird. Ein solches Modell besteht aus einer Reihe von Termen, die durch + Operatoren getrennt sind. Die Begriffe selbst bestehen aus Variablen und Faktornamen, getrennt durch: Operatoren. Ein solcher Begriff wird als die Interaktion aller Variablen und Faktoren interpretiert, die in dem Begriff vorkommen.   Zusätzlich zu + und: sind eine Reihe anderer Operatoren in Modellformeln nützlich. Der Operator * bezeichnet die Faktorkreuzung: a b interpretiert als a + b + a: b. Der Operator ^ zeigt an, dass der angegebene Grad überschritten wurde. Zum Beispiel (a + b + c) ^ 2 ist identisch mit (a + b + c) (a + b + c), die wiederum zu einer Formel expandiert, die die Haupteffekte für a, b und c zusammen enthält mit ihren Wechselwirkungen zweiter Ordnung. Der Operator% in% gibt an, dass die Begriffe auf der linken Seite in denen auf der rechten Seite verschachtelt sind. Zum Beispiel expandiert a + b% in% a zur Formel a + a: b. Der Operator - entfernt die angegebenen Terme, so dass (a + b + c) ^ 2 - a: b ist identisch mit a + b + c + b: c + a: c. Es kann auch verwendet werden, um den Schnittpunktbegriff zu entfernen: wenn ein lineares Modell angepasst wird, spezifiziert y ~ x - 1 eine Linie durch den Ursprung. Ein Modell ohne Intercept kann auch als y ~ x + 0 oder y ~ 0 + x angegeben werden.   Während Formeln normalerweise nur Variablen- und Faktornamen enthalten, können sie auch arithmetische Ausdrücke enthalten. Die Formel log (y) ~ a + log (x) ist ziemlich legal. Wenn solche arithmetischen Ausdrücke Operatoren enthalten, die auch symbolisch in Modellformeln verwendet werden, kann es zu Verwechslungen zwischen der Verwendung von arithmetischen und symbolischen Operatoren kommen.   Um diese Verwirrung zu vermeiden, kann die Funktion I () verwendet werden, um diejenigen Teile einer Modellformel zu umreißen, in denen die Operatoren in ihrer arithmetischen Bedeutung verwendet werden. Zum Beispiel ist in der Formel y ~ a + I (b + c) der Ausdruck b + c als die Summe von b und c zu interpretieren.

    
Carl Witthoft 15.01.2015 12:11
quelle

Tags und Links