R - 如何在方差分析输出中显示空模型

R - How to show the null models in ANOVA output

假设您在 R 中用截距项 拟合了一个模型 。当您在模型上调用 anova 函数时,它不会在添加截距项之前显示空模型,甚至不会显示仅包含截距的模型。下面是一个使用简单线性回归的例子。

#Generate random dataset
set.seed(1)
n   <- 100
b0  <- 10
b1  <- 3
sig <- 4
xx  <- 10*runif(n)
ee  <- sig*rnorm(n)
DATA <- data.frame(x = xx, y = b0 + b1*xx + ee)

#Fit a linear model
MODEL <- lm(y ~ 1 + x, data = DATA)

#Show the ANOVA
anova(MODEL)

Analysis of Variance Table

Response: y
          Df Sum Sq Mean Sq F value    Pr(>F)    
x          1 6922.1  6922.1  488.52 < 2.2e-16 ***
Residuals 98 1388.6    14.2                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

我想为模型生成方差分析 table,其中包含两个额外的初步行,从使用空模型的第一行开始 没有截距项然后使用模型显示第二行 只有截距项 。上面显示的剩余输出将从方差分析的第三行开始 table.

最简单的方法是什么?

MODEL1 <- lm(y ~ -1, data = DATA)
MODEL2 <- lm(y ~  1, data = DATA)
MODEL3 <- lm(y ~  x, data = DATA)
anova(MODEL1, MODEL2, MODEL3)