2013-01-08 11 views
14

Ich muss ein Probit-Modell ohne den Abschnitt erstellen. Also, wie kann ich den Abschnitt von einem Probit-Modell in R entfernen?So entfernen Sie den Abschnitt in R

+3

See 'formula'?. –

+3

Fügen Sie einfach eine '-1' in Ihre Formel ein:' glm (y ~ x1 + x2 - 1, Familie = binomial (link = "probit"), data = yourdata) 'Dies wird ein Probit-Modell ohne Intercept schätzen. –

Antwort

27

Sie sagen nicht wie Sie beabsichtigen, das Probitmodell zu passen, aber wenn es R-Formel-Notation verwendet das Modell zu beschreiben, dann können Sie entweder + 0 oder - 1 als Teil der Formel liefern den Schnitt zu unterdrücken:

mod <- foo(y ~ 0 + x1 + x2, data = bar) 

oder

mod <- foo(y ~ x1 + x2 - 1, data = bar) 

(beide unter Verwendung von Pseudo-R-Code natürlich - ersetzen Sie Ihre Modellierungsfunktion und Daten/Variablen.)

Wenn dies eine Modellanpassung von glm() ist dann so etwas wie:

mod <- glm(y ~ x1 + x2 - 1, data = bar, family = binomial(link = "probit")) 

sollte es tun (wieder in Ihren Daten und Variablennamen gegebenenfalls ersetzt werden.)

+1

Gibt es einen Unterschied zwischen + 0 oder -1? –

+1

@NiekdeKlein Nein, kein Unterschied, den ich kenne –

11

Auch, wenn Sie eine vorhandene Formel Objekt, foo, können Sie den Schnittpunkt mit update wie folgt entfernen:

foo <- y ~ x1 + x2 
bar <- update(foo, ~ . -1) 
# bar == y ~ x1 + x2 - 1