aov() 的基本用法
方差分析(aov)用于确定两个或更多个组的平均值是否彼此显着不同。假设响应彼此独立,正态分布(在每个组内),并且假设组内差异相等。
为了完成分析,数据必须是长格式(请参阅重塑数据主题)。aov()
是 lm()
函数的包装器,使用 Wilkinson-Rogers 公式表示 y~f
,其中 y
是响应(独立)变量,f
是表示组成员资格的因子(分类)变量。如果 f
是数字而不是因子变量,则 aov()
将以 ANOVA 格式报告线性回归的结果,这可能会让没有经验的用户感到惊讶。
aov()
函数使用类型 I(顺序)平方和。这种类型的平方和按顺序测试所有(主要和交互)效果。结果是,测试的第一个效果也被赋予它与模型中的其他效果之间的共享方差。为了使这种模型的结果可靠,应平衡数据(所有组的大小相同)。
当 I 型平方和的假设不成立时,可以适用 II 型或 III 型平方和。类型 II 平方和在每个其他主效应之后测试每个主效应,从而控制任何重叠方差。然而,类型 II 平方和假设主效应之间没有相互作用。
最后,Type III of Squares 测试每个主要效果和每次互动之后的每个主要效果。当存在交互时,这使得 III 型平方和成为必需。
II 型和 III 型平方和在 Anova()
函数中实现。
以 mtcars
数据集为例。
mtCarsAnovaModel <- aov(wt ~ factor(cyl), data=mtcars)
要查看 ANOVA 模型的摘要:
summary(mtCarsAnovaModel)
还可以提取基础 lm()
模型的系数:
coefficients(mtCarsAnovaModel)