回帰分析でバイナリ説明変数を使用する場合、特定のレベルを参照として使用するように R に指示するにはどうすればよいですか?
デフォルトで何らかのレベルを使用しているだけです。
lm(x ~ y + as.factor(b))
とb {0, 1, 2, 3, 4}
します。R で使用される 0 の代わりに 3 を使用するとします。
ベストアンサー1
関数を参照してください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)
次に、関数を使用してb
係数を変更します。DF
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