2011-07-29 18 views
4

ロジスティック回帰では、SASには、「降順」オプションを使用して0ではなく1をモデル化するオプションがあります。 Rには同じことができる方法はありますか?ロジスティック回帰における順序付け

私が使用しているコードは以下の通りです:

glm(y~x1+x2+x3, family=binomial(link="logit"), na.action=na.pass) 

よろしく、 アリ

答えて

8

オプションは、モデリング1-yとまったく同じであり、同じ係数を返しますが、異なる符号となります。だから、あなたは1-yをモデルに入れますか、係数を逆転するだけです:

Data <- data.frame(
    y = rbinom(100,1,0.5), 
    x1 = rnorm(100), 
    x2 = rnorm(100), 
    x3 = rnorm(100) 
) 

mod1 <- glm(y~x1+x2+x3, family=binomial(link="logit"), 
      na.action=na.pass,data=Data) 

mod2 <- glm((1-y)~x1+x2+x3, family=binomial(link="logit"), 
      na.action=na.pass,data=Data) 

> all.equal(coef(mod2),-coef(mod1)) 
[1] TRUE 
+2

なぜ「abs」が必要ですか? 'y'は1でも0でもないでしょうか? –

+0

@Ben oops ...は 'abs(y-1)'を使用したコードのコピーが非常に高速です( '1-y'に変更しましたが' abs() 'を削除するのを忘れていました)。キャッチのThx –

+0

ありがとうJoris!答えは速すぎる:) – Beta

関連する問題