1. ホーム
  2. r

[解決済み] 回帰で指定された因子レベルを参照として使用するようにRを強制する方法とは?

2022-06-21 21:24:23

質問

回帰でバイナリ説明変数を使用する場合、特定のレベルを参照として使用するようにRに指示するにはどうしたらよいですか?

デフォルトで何らかの水準を使用しているだけです。

lm(x ~ y + as.factor(b)) 

b {0, 1, 2, 3, 4} . 例えば、Rで使われているゼロの代わりに3を使いたいとします。

どのように解決するのですか?

を参照してください。 relevel() 関数を参照してください。以下はその例です。

set.seed(123)
x <- rnorm(100)
DF <- data.frame(x = x,
                 y = 4 + (1.5*x) + rnorm(100, sd = 2),
                 b = gl(5, 20))
head(DF)
str(DF)

m1 <- lm(y ~ x + b, data = DF)
summary(m1)

ここで、ファクターを変更します。 bDF を使用することで relevel() という関数があります。

DF <- within(DF, b <- relevel(b, ref = 3))
m2 <- lm(y ~ x + b, data = DF)
summary(m2)

モデルは異なるリファレンスレベルを推定しています。

> coef(m1)
(Intercept)           x          b2          b3          b4          b5 
  3.2903239   1.4358520   0.6296896   0.3698343   1.0357633   0.4666219 
> coef(m2)
(Intercept)           x          b1          b2          b4          b5 
 3.66015826  1.43585196 -0.36983433  0.25985529  0.66592898  0.09678759