2013-01-08 18 views
14

Ho bisogno di creare un modello probit senza l'intercetta. Quindi, come posso rimuovere l'intercettazione da un modello probit in R?Come rimuovere l'intercettazione in R

+3

See 'formula'?. –

+3

Basta aggiungere un '-1' nella formula come in:' glm (y ~ x1 + x2 - 1, famiglia = binomiale (link = "probit"), data = yourdata) 'questo stimerà un modello probit senza intercettazione. –

risposta

27

Tu non dici come avete intenzione di adattare il modello probit, ma se si utilizza la notazione formula di R per descrivere il modello allora si può fornire sia + 0 o - 1 come parte della formula per sopprimere l'intercetta:

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

o

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

(sia con lo pseudo codice R naturalmente - sostituire la funzione di modellazione e dati/variabili.)

0.123.

Se questo è un modello adatto per glm() poi qualcosa di simile:

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

dovrebbe farlo (di nuovo sostituendo i dati ei nomi delle variabili a seconda dei casi.)

+1

C'è una differenza tra l'utilizzo di + 0 o -1? –

+1

@NiekdeKlein No, nessuna differenza di cui io sia a conoscenza –

11

Inoltre, se si dispone di una formula esistente oggetto, foo, è possibile rimuovere l'intercetta con update come questo:

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