自动使用LRT评估整个因子变量的显着性

时间:2014-10-28 21:38:25

标签: r regression anova categorical-data

包括一个或多个因子变量的多变量回归模型的R输出不会自动包括模型中整个因子变量的显着性的似然比检验(LRT)。例如:

fake = data.frame( x1=rnorm(100), x2=sample(LETTERS[1:4], 
       size=100, replace=TRUE), y=rnorm(100) )

head(fake)
          x1 x2          y
1  0.6152511  A  0.7682467
2 -0.8215727  A -0.5389245
3 -1.3287208  A -0.1797851
4  0.5837217  D  0.9509888
5 -0.2828024  C -0.9829126
6  0.3971358  B -0.4895091

m = lm(fake$y ~ fake$x1 + fake$x2)
summary(m)

如果我们想在模型中测试整个变量x2的重要性,我们可以使用简化模型m.red并使用LRT:

m.red = lm(fake$y ~ fake$x1)
anova(m, m.red, test="LRT")

但是如果你在一个模型中有很多因子变量,那么一遍又一遍地做这个就变得荒谬了。我不得不相信有一些内置的方法吗?

1 个答案:

答案 0 :(得分:5)

我认为您正在寻找drop1

drop1(m,test="Chisq")
## Single term deletions

## Model:
## fake$y ~ fake$x1 + fake$x2
##         Df Sum of Sq    RSS     AIC Pr(>Chi)
## <none>               79.814 -12.547         
## fake$x1  1   0.33741 80.152 -14.125   0.5160
## fake$x2  3   2.88510 82.699 -14.996   0.3142