在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)
发布于 2016-11-23 00:33:57
我假设假设满足了,特别是残差是独立的,并且残差的分布是同方差的,并且与正态分布非常相似。
首先,请注意,您的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"
同样,由于您的示例中没有显着性,所以所有的因素级别都得到相同的字母。
https://stackoverflow.com/questions/40759198
复制相似问题