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)
假设您在 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)