I need to create a probit model without the intercept. So, how can I remove the intercept from a probit model in R?
Asked
Active
Viewed 9.0k times
30
-
4Just add a `-1` in your formula as in: `glm(y ~ x1 + x2 - 1, family = binomial(link = "probit"), data = yourdata)` this will estimate a probit model without intercept. – Jilber Urbina Jan 08 '13 at 15:53
2 Answers
52
You don't say how you are intending to fit the probit model, but if it uses R's formula notation to describe the model then you can supply either + 0
or - 1
as part of the formula to suppress the intercept:
mod <- foo(y ~ 0 + x1 + x2, data = bar)
or
mod <- foo(y ~ x1 + x2 - 1, data = bar)
(both using pseudo R code of course - substitute your modelling function and data/variables.)
If this is a model fitting by glm()
then something like:
mod <- glm(y ~ x1 + x2 - 1, data = bar, family = binomial(link = "probit"))
should do it (again substituting in your data and variable names as appropriate.)

Gavin Simpson
- 170,508
- 25
- 396
- 453
15
Also, if you have an existing formula object, foo
, you can remove the intercept with update
like this:
foo <- y ~ x1 + x2
bar <- update(foo, ~ . -1)
# bar == y ~ x1 + x2 - 1

Head
- 4,691
- 3
- 30
- 18