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