如何在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