如何在R中從aov輸出中提取p值和F統計量?


方差分析技術幫助我們確定是否存在兩個以上變數之間是否存在顯著的均值差異。為了檢測這種差異,我們使用F統計量值或p值。如果F統計量值大於F的臨界值,或者p值小於顯著性水平,那麼我們說至少一個均值與其餘均值顯著不同。為了提取p值和F統計量值,我們可以使用ANOVA模型的summary函式。

示例

 線上演示

set.seed(123)
Group<-rep(c("G1","G2","G3","G4"),times=5)
Response<-runif(20,2,5)
df<-data.frame(Group,Response)
df

輸出

Group Response
1 G1 2.862733
2 G2 4.364915
3 G3 3.226931
4 G4 4.649052
5 G1 4.821402
6 G2 2.136669
7 G3 3.584316
8 G4 4.677257
9 G1 3.654305
10 G2 3.369844
11 G3 4.870500
12 G4 3.360002
13 G1 4.032712
14 G2 3.717900
15 G3 2.308774
16 G4 4.699475
17 G1 2.738263
18 G2 2.126179
19 G3 2.983762
20 G4 4.863511
ANOVA<-aov(Response~Group,df)
summary(ANOVA)
Df Sum Sq Mean Sq F value Pr(F)
Group 3 4.813 1.6043 2.141 0.135
Residuals 16 11.990 0.7494
summary(ANOVA)[[1]][1,4:5]
F value Pr(F)
Group 2.1408 0.1351

如果我們只想提取p值,可以如下所示:

summary(ANOVA)[[1]][1,5]
[1] 0.1351315

如果我們只想提取F值,可以如下所示:

summary(ANOVA)[[1]][1,4]
[1] 2.140825

示例

讓我們再看一個例子:

 線上演示

Factor<-rep(c("F1","F2","F3","F4","F5"),each=4)
Dependent<-rnorm(20,2)
ANOVA_data<-data.frame(Factor,Dependent)
ANOVA_data

輸出

Factor Dependent
1 F1 2.2236414
2 F1 4.0072015
3 F1 3.0119791
4 F1 1.6975408
5 F2 0.9747552
6 F2 1.7326152
7 F2 1.8008943
8 F2 2.1311226
9 F3 2.1457999
10 F3 2.3620647
11 F3 2.6739812
12 F3 4.0720358
13 F4 1.4589714
14 F4 0.9295078
15 F4 1.6275433
16 F4 1.5148586
17 F5 2.2747842
18 F5 1.5204874
19 F5 2.7981053
20 F5 0.9955488
ANOVA_Model<-aov(Dependent~Factor,ANOVA_data)
summary(ANOVA_Model)
Df Sum Sq Mean Sq F value Pr(F)
Factor 4 6.647 1.6617 3.04 0.0508 .
Residuals 15 8.200 0.5467
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
summary(ANOVA_Model)[[1]][1,4:5]
F value Pr(F)
Factor 3.0395 0.05078 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
summary(ANOVA_Model)[[1]][1,5]
[1] 0.05077798
summary(ANOVA_Model)[[1]][1,4]
[1] 3.039549

更新於:2020年8月21日

4K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.