如何在R中对事后测试结果进行分类?

Car*_*lin 6 r anova posthoc

我试图理解如何在R中使用ANOVA和事后测试.到目前为止,我已经使用aov()和TukeyHSD()来分析我的数据.例:

uni2.anova <- aov(Sum_Uni ~ Micro, data= uni2)

uni2.anova

Call:
aov(formula = Sum_Uni ~ Micro, data = uni2)

Terms:
                    Micro  Residuals
Sum of Squares  0.04917262 0.00602925
Deg. of Freedom         15         48

Residual standard error: 0.01120756 
Estimated effects may be unbalanced
Run Code Online (Sandbox Code Playgroud)

我的问题是,现在我有一个巨大的成对比较列表,但不能用它做任何事情:

 TukeyHSD(uni2.anova)
 Tukey multiple comparisons of means
   95% family-wise confidence level

Fit: aov(formula = Sum_Uni ~ Micro, data = uni2)

$Micro
                               diff          lwr           upr     p adj
Act_Glu2-Act_Ala2     -0.0180017863 -0.046632157  0.0106285840 0.6448524
Ana_Ala2-Act_Ala2     -0.0250134285 -0.053643799  0.0036169417 0.1493629
NegI_Ala2-Act_Ala2     0.0702274527  0.041597082  0.0988578230 0.0000000
Run Code Online (Sandbox Code Playgroud)

这个数据集有40行...想要,我想得到一个看起来像这样的数据集:

  • Act_Glu2:a
  • Act_Ala2:a
  • NegI_Ala2:b ......

我希望你明白这一点.到目前为止,我没有发现任何类似的在线...我也试图在TukeyHSD文件中只选择重要的对,但文件不"承认"它由行和列组成,使选择不可能.. .

也许我的方法存在根本性的错误?

Luc*_*zer 7

我认为OP希望这些字母可以看到比较.

library(multcompView)
multcompLetters(extract_p(TukeyHSD(uni2.anova)))
Run Code Online (Sandbox Code Playgroud)

那会给你的信件.

您也可以使用multcomp包

library(multcomp)
cld(glht(uni2.anova, linct = mcp(Micro = "Tukey")))
Run Code Online (Sandbox Code Playgroud)

我希望这就是你所需要的.