2013-01-08 11 views
14

私は傍受なしでプロビットモデルを作成する必要があります。では、Rのプロビットモデルからインターセプトを取り除くにはどうすればよいですか?Rのインターセプトを削除する方法

+3

'formula'ください:?オブジェクト、foo、あなたはこのようなupdateでインターセプトを削除することができます。 –

+3

'glm(y〜x1 + x2-1、family = binomial(link =" probit ")、data = yourdata)'のようにあなたの数式に '-1'を追加すると、これはインターセプトなしでプロビットモデルを推定します。 –

答えて

27

あなたはプロビットモデルに合うように意図されているが、それはモデルを記述するためにRの式の表記を使用している場合、あなたがインターセプトを抑制するための式の一部として+ 0または- 1のいずれかを供給することができますどのようにを言うことはありません。

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

又は

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

(両方のコースの擬似Rコードを使用して - あなたのモデリング機能及びデータ/変数を代入。)

これはglm()によってフィッティングモデルがある場合は、何かのように:

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

は(再びあなたのデータと適切な変数名に置き換えます。)を行う必要があります

+1

+ 0または-1の使用に違いはありますか? –

+1

@NiekdeKleinいいえ、私が知っている違いはありません –

11

また、既存の式を持っている場合

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