3

lmと関数を使用して R で回帰を実行しようとしていglmます。

私の従属変数は、特定の期間内の非イベントに対するイベントの割合に基づいてロジット変換されたデータです。したがって、従属変数は連続ですが、独立変数は因子変数またはダミーです。

次の値を取ることができる 2 つの独立変数があります。

  • i 年から m 年、私の YEAR 変数
  • 月 j から月 n、私の MONTH 変数

問題は、モデルを要約として実行するたびに、4 月 (月のインデックス 1) と 1998 年 (年のインデックス 1) の結果が結果に含まれないことです... 4 月を "foo_bar" に変更すると、8 月はない...

助けてください!これは私をイライラさせ、問題の解決策を探す方法がわかりません。

4

1 に答える 1

11

R が因子のすべてのレベルに対してダミー変数を作成した場合、結果の変数セットは線形従属になります (切片項もあると仮定します)。したがって、1 つの因子レベルがベースラインとして選択され、それに対して生成されるダミーはありません。

これを説明するために、おもちゃの例を考えてみましょう。

> data <- data.frame(y=c(2, 3, 5, 7, 11, 25), f=as.factor(c('a', 'a', 'b', 'b', 'c', 'c')))
> summary(lm(y ~ f, data))

Call:
lm(formula = y ~ f, data = data)

Residuals:
   1    2    3    4    5    6 
-0.5  0.5 -1.0  1.0 -7.0  7.0 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)    2.500      4.093   0.611   0.5845  
fb             3.500      5.788   0.605   0.5880  
fc            15.500      5.788   2.678   0.0752 .
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 5.788 on 3 degrees of freedom
Multiple R-squared: 0.7245, Adjusted R-squared: 0.5409 
F-statistic: 3.945 on 2 and 3 DF,  p-value: 0.1446 

ご覧のとおり、3 つの係数があります (因子の水準数と同じです)。ここでは、aがベースラインとして選択されているため、 がである(Intercept)データのサブセットを参照します。および(および)の係数は、ベースライン切片と他の 2 つの因子水準の切片との差です。したがって、切片は( ) であり、切片は( ) です。fabcfbfcb62.500+3.500c192.500+15.500

自動選択が気に入らない場合は、ベースラインとして別のレベルを選択できます: How to force R to use a specified factor level as reference in a回帰?

于 2013-03-05T19:04:32.863 に答える