R语言进行单因素方差分析

来源:互联网 发布:跑步后的拉伸运动知乎 编辑:程序博客网 时间:2024/04/26 11:56

说明

方差分析(analysis of variance,ANOVA),能够找到类别独立变量和连续非独立变量之间的关系,主要用于检测不同的数据集的均值是否相同。如果样本中仅包含了一个变量作为独立变量,我们可以进行单因素方差分析。否则就要实施双因素方差分析。

操作,此处作单因素方差分析

#前齿轮数与油耗的关系library(stats)data("mtcars")boxplot(mtcars$mpg~factor(mtcars$gear),xlab='gear',ylab='mpg')

前齿轮数与油耗的关系

#进行单因素方差分析,检测mpg值是否与gear有关oneway.test(mtcars$mpg~factor(mtcars$gear))    One-way analysis of means (not assuming equal variances)data:  mtcars$mpg and factor(mtcars$gear)F = 11.285, num df = 2.0000, denom df = 9.5083, p-value = 0.00308`
#用aov进行方差分析mtcars.aov = aov(mtcars$mpg~factor(mtcars$gear))summary(mtcars.aov)                    Df Sum Sq Mean Sq F value   Pr(>F)    factor(mtcars$gear)  2  483.2  241.62    10.9 0.000295 ***Residuals           29  642.8   22.17                     ---Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
aov也可以以表的形式输入摘要信息model.tables(mtcars.aov,"means")Tables of meansGrand mean20.09062  factor(mtcars$gear)         3     4     5    16.11 24.53 21.38rep 15.00 12.00  5.00
#由aov模型,我们可以使用TurkeyHSD进行事后比较检验mtcars_posthoc = TukeyHSD(mtcars.aov)mtcars_posthocTukey multiple comparisons of means    95% family-wise confidence levelFit: aov(formula = mtcars$mpg ~ factor(mtcars$gear))$`factor(mtcars$gear)`         diff        lwr       upr     p adj4-3  8.426667  3.9234704 12.929863 0.00020885-3  5.273333 -0.7309284 11.277595 0.09371765-4 -3.153333 -9.3423846  3.035718 0.4295874plot(mtcars_posthoc)#均值差异可视化处理

均值差异可视化处理

总结

oneway.test的函数优势在于应用welch修正以处理变量的不均匀性,不过函数返回结果没有aov丰富,也不提供事后检验。两次的p值都很小,拒绝gear不同mpg值相同的原假设。
我们不清楚那两个样本的存在比较大的差异,我们用事后检验,得出4-3差别最大。

原创粉丝点击