在R中,我有四个数值向量。我想测试这四个向量的平均值是否相同,如果没有,哪个意味着更大,哪个意思更小(基本上我想按照它们对四个向量进行排序)。
这篇文章非常适合我:
http://brownmath.com/stat/anova1
我正在遵循本指南:
https://www.r-bloggers.com/analysis-of-variance-anova-for-multiple-comparisons/
然而,如果四个方法相同或不同,这个帖子会在测试时停止,但如果答案不是,那我怎么知道哪个平均值更大,哪个平均值在R中更小?
非常感谢,
帖子的代码是:
a = c(65, 48, 66, 75, 70, 55)
b = c(64, 44, 70, 70, 68, 59)
c = c(60, 50, 65, 69, 69, 57)
d = c(62, 46, 68, 72, 67, 56)
dati = c(a, b, c, d)
groups = factor(rep(letters[1:4], each = 6))
fit = lm(formula = dati ~ groups)
anova (fit)
答案 0 :(得分:3)
我会假设假设得到满足,特别是残差是独立的,并且残差的分布是同方差的并且与正态分布足够相似。 / p>
首先请注意,您的ANOVA返回的p值为0.99,这意味着组均值之间没有显着差异。如果p值低于0.05,则可以进行成对比较的事后检验。
TukeyHSD(aov(fit))
# Tukey multiple comparisons of means
# 95% family-wise confidence level
#
#Fit: aov(formula = fit)
#
#$groups
# diff lwr upr p adj
#b-a -0.6666667 -15.68081 14.34748 0.9992898
#c-a -1.5000000 -16.51415 13.51415 0.9921250
#d-a -1.3333333 -16.34748 13.68081 0.9944302
#c-b -0.8333333 -15.84748 14.18081 0.9986181
#d-b -0.6666667 -15.68081 14.34748 0.9992898
#d-c 0.1666667 -14.84748 15.18081 0.9999888
当然,这里没什么重要的。
更强大的功能是multcomp包。它让你定义不同的成对比较。它还可以为您提供您经常在表格或图表中看到的小组字母。
library(multcomp)
pairwise <- glht(fit, linfct = mcp(groups = "Tukey"))
summary(pairwise)
cld(pairwise)
# a b c d
#"a" "a" "a" "a"
同样,由于您的示例中没有任何重要内容,因此所有因素级别都会得到相同的字母。