rm(list=ls())
rm(list=ls())
# oneway anova case I
#Data of three groups
water=c(10,12,18,24,36)
juice=c(11,14,19,23,38)
cof=c(12,13,17,25,37)
#Calculate the mean of the groups
mwater=mean(water)
mjuice=mean(juice)
mcof=mean(cof)
#Loading means into a vector
vm=c(mwater,mjuice,mcof)
vm
## [1] 20.0 21.0 20.8
#calculate sum of square within group
ssw=sum((water-mwater)^2)
ssw
## [1] 440
ssj=sum((juice-mjuice)^2)
ssj
## [1] 446
ssc=sum((cof-mcof)^2)
ssc
## [1] 432.8
#Calculate mean sum of square within group
MSW=(ssw+ssj+ssc)/12
MSW
## [1] 109.9
#Calculate grand mean
gm=mean(vm)
gm
## [1] 20.6
#Calculate mean square between groups
MSB=sum(5*(vm-gm)^2)/2
MSB
## [1] 1.4
#F-Statitistics
F=MSB/MSW
F
## [1] 0.01273885
pf(MSB/MSW,2,12,lower.tail = FALSE)
## [1] 0.9873553
#P -value from F distribution
#Same example using R
grp=c(rep("g1",5),rep("g2",5),rep("g3",5))
grp
## [1] "g1" "g1" "g1" "g1" "g1" "g2" "g2" "g2" "g2" "g2" "g3" "g3" "g3" "g3" "g3"
t=c(water,juice,cof)
t
## [1] 10 12 18 24 36 11 14 19 23 38 12 13 17 25 37
df=data.frame(grp,t)
View(df)
#oneway anova from R Stat package
oneway.test(df$t~df$grp,,var.equal = TRUE)
##
## One-way analysis of means
##
## data: df$t and df$grp
## F = 0.012739, num df = 2, denom df = 12, p-value = 0.9874
# oneway anova case II
#Data of three groups
water=c(29,29,30,31,31)
juice=c(17,18,19,19,20)
cof=c(10,11,12,12,13)
#Calculate the mean of the groups
mwater=mean(water)
mjuice=mean(juice)
mcof=mean(cof)
#Loading means into a vector
vm=c(mwater,mjuice,mcof)
vm
## [1] 30.0 18.6 11.6
#calculate sum of square within group
ssw=sum((water-mwater)^2)
ssw
## [1] 4
ssj=sum((juice-mjuice)^2)
ssj
## [1] 5.2
ssc=sum((cof-mcof)^2)
ssc
## [1] 5.2
#Calculate mean sum of square within group
MSW=(ssw+ssj+ssc)/12
MSW
## [1] 1.2
#Calculate grand mean
gm=mean(vm)
gm
## [1] 20.06667
#Calculate mean square between groups
MSB=sum(5*(vm-gm)^2)/2
MSB
## [1] 431.2667
#F-Statitistics
F=MSB/MSW
F
## [1] 359.3889
pf(MSB/MSW,2,12,lower.tail = FALSE)
## [1] 1.960539e-11
#P -value from F distribution
#Same example using R
grp=c(rep("g1",5),rep("g2",5),rep("g3",5))
grp
## [1] "g1" "g1" "g1" "g1" "g1" "g2" "g2" "g2" "g2" "g2" "g3" "g3" "g3" "g3" "g3"
t=c(water,juice,cof)
t
## [1] 29 29 30 31 31 17 18 19 19 20 10 11 12 12 13
df=data.frame(grp,t)
View(df)
#oneway anova from R Stat package
oneway.test(df$t~df$grp,,var.equal = TRUE)
##
## One-way analysis of means
##
## data: df$t and df$grp
## F = 359.39, num df = 2, denom df = 12, p-value = 1.961e-11