例1.研究谷物中的卡路里、脂肪和糖含量是否会因为储存架位置的不同而发生变化。其中1代表底层货架,2代表中层货架,3代表顶层货架。
H0:μ1=μ2=μ3,
H1:μi≠μj,至少存在一对i≠j
数据:MASS包-Uscereal
代码
library(MASS)
attach(UScereal)
shelf=factor(shelf) #转化为因子变量
y=cbind(calories,fat,sugars) #将因变量合并成一个矩阵
aggregate(y,by=list(shelf),FUN=mean) #求各类均值
fit=manova(y~shelf)
summary(fit) #多元方差分析
summary.aov(fit) #对每个变量做单因素方差分析
运行结果
> library(MASS)
Warning message:
程辑包‘MASS’是用R版本3.4.4 来建造的
> attach(UScereal)
The following object is masked _by_ .GlobalEnv: shelf
> shelf=factor(shelf) #转化为因子变量
> y=cbind(calories,fat,sugars) #将因变量合并成一个矩阵
> aggregate(y,by=list(shelf),FUN=mean) #求各类均值
Group.1 calories fat sugars
1 1 119.4774 0.6621338 6.295493
2 2 129.8162 1.3413488 12.507670
3 3 180.1466 1.9449071 10.856821
> fit=manova(y~shelf)
> summary(fit) #多元方差分析
Df Pillai approx F num Df den Df Pr(>F)
shelf 2 0.4021 5.1167 6 122 0.0001015 ***
Residuals 62
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> summary.aov(fit) #对每个变量做单因素方差分析
Response calories :
Df Sum Sq Mean Sq F value Pr(>F)
shelf 2 50435 25217.6 7.8623 0.0009054 ***
Residuals 62 198860 3207.4
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response fat :
Df Sum Sq Mean Sq F value Pr(>F)
shelf 2 18.44 9.2199 3.6828 0.03081 *
Residuals 62 155.22 2.5035
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Response sugars :
Df Sum Sq Mean Sq F value Pr(>F)
shelf 2 381.33 190.667 6.5752 0.002572 **
Residuals 62 1797.87 28.998
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
- 多元方差分析中,F值=5.1167,P值=0.0001<0.05,故拒绝原假设,认为货架位置不同,卡路里、脂肪和糖含量存在显著差异。
- 进一步的,根据单因素方差分析结果,不同货架位置的卡路里、脂肪和糖含量分别存在显著差异。