仅在R中的ANOVA循环上打印显着结果

时间:2014-11-17 04:13:06

标签: r loops plot anova

我的数据如下:

     KAFFE   SAFT    FERSKVARE   HERMETIKK ..... K
      35    23.91     17.3         70.2          1
      53    30.13     27.4         75.7          1
      35    34.54     17.3         81.1          2
      32    31.93     47.3         92.7          2
      34    54.69     17.2         88.4          2 
      35    34.69     19.1         81.5          3 
      54    25.63     18.3         92.1          3 
      34    46.65     18.6         76.6          3
      36    38.21     23.3         79.9          3

我使用循环为每个数据创建anova和post hoc测试

rcluso is my data frame
K is the categorical variable located at the end column



sink("AnovaTest.doc")
      for(i in 1:(ncol(rcluso)-1)){
        columns <- names(rcluso[i])
        anovaresult<- summary(aov(rcluso[,i]~K,data=rcluso))
        posthocresult <- TukeyHSD(aov(rcluso[,i]~K,data=rcluso))

    print(columns)
    print(anovaresult)
    print(posthocresult)
    }
    sink()

问题是,我只想将anova的重要结果打印出来,我还想为每个重要结果创建一个条形图。

你能帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果你得到anova()输出而不是summary(),你可以访问p值。

替换你的

    anovaresult<- summary(aov(rcluso[,i]~K,data=rcluso))

    anovaresult<- anova(aov(rcluso[,i]~K,data=rcluso)) 

然后您可以使用if()语句(例如

)有条件地打印结果
  if(anovaresult$Pr[1] < 0.05){ print(anovaresult) }