30

I need to create a probit model without the intercept. So, how can I remove the intercept from a probit model in R?

Paul Hiemstra
  • 59,984
  • 12
  • 142
  • 149
Kazo
  • 1,205
  • 3
  • 15
  • 15
  • 4
    Just 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 Answers2

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