如何在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
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP