2014-11-17 101 views
1

我有一個看起來像這樣的數據:只對R中的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 

我用一個循環來創建一個方差分析和事後檢驗爲每個數據

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的重要結果,並且我還想爲每個重要結果創建一個條形圖。

你們可以幫我解決這個問題嗎?提前致謝。

回答

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) }