2013-01-08 5 views
14

Je dois créer un modèle probit sans interception. Alors, comment puis-je supprimer l'interception d'un modèle probit dans R?Comment faire pour supprimer l'interception dans R

+3

Voir 'formula'?. –

+3

Ajoutez simplement un '-1' dans votre formule comme dans:' glm (y ~ x1 + x2 - 1, famille = binomial (lien = "probit"), données = yourdata) 'cela va estimer un modèle probit sans interception. –

Répondre

27

Vous ne dites pas comment vous avez l'intention d'adapter le modèle probit, mais si elle utilise la notation de la formule de R pour décrire le modèle, vous pouvez fournir soit + 0 ou - 1 dans le cadre de la formule pour supprimer l'interception:

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

ou

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

(à la fois le code de pseudo-R en utilisant bien sûr - substituer votre fonction de modélisation et de données/variables.)

Si ce modèle est approprié par glm() alors quelque chose comme:

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

devrait le faire (en remplaçant à nouveau dans vos données et les noms de variables, selon le cas.)

+1

Y at-il une différence entre l'utilisation de + 0 ou -1? –

+1

@NiekdeKlein Non, pas de différence que je suis au courant de –

11

En outre, si vous avez une formule existante objet, foo, vous pouvez supprimer l'intersection avec update comme ceci:

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