Как да премахнете intercept в R

Трябва да създам пробит модел без прихващане. И така, как мога да премахна прихващането от пробит модел в R?


person Kazo    schedule 08.01.2013    source източник
comment
Просто добавете -1 във вашата формула, както е в: glm(y ~ x1 + x2 - 1, family = binomial(link = "probit"), data = yourdata) това ще оцени пробит модел без прихващане.   -  person Jilber Urbina    schedule 08.01.2013


Отговори (2)


Не казвате как възнамерявате да паснете на probit модела, но ако той използва нотацията на формулата на R, за да опише модела, тогава можете да предоставите + 0 или - 1 като част от формулата за потискане на прихващането :

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

or

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

(разбира се, използвайки псевдо R код - заменете вашата функция за моделиране и данни/променливи.)

Ако това е модел, подходящ за glm(), тогава нещо като:

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

трябва да го направи (отново заместване във вашите данни и имена на променливи според случая.)

person Gavin Simpson    schedule 08.01.2013
comment
Има ли разлика между използването на +0 или -1? - person Niek de Klein; 09.03.2016
comment
@NiekdeKlein Не, няма разлика, за която аз знам - person Gavin Simpson; 09.03.2016

Освен това, ако имате съществуващ обект на формула, foo, можете да премахнете прихващането с update по следния начин:

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