library(readxl)
Data<-FLCAS_TALLY_Data <- read_excel("FLCAS-TALLY-Data.xlsx")
## New names:
## * `` -> ...40
## * `` -> ...41
Data
summary(Data$Grades)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   34.00   73.00   83.00   80.92   91.00   99.00
Gequivalent= Data$Gequivalent
Gequivalent.freq = table(Gequivalent)
Gequivalent.relfreq = Gequivalent.freq 
Gequivalent.freq
## Gequivalent
## Excellent    Failed      Fair Fair Good      Good      Poor Very Good Very Poor 
##       120         2         7        19        20         4        19         4
Gequivalent.relfreq = Gequivalent.freq / nrow(Data)
cbind(Gequivalent.relfreq)
##           Gequivalent.relfreq
## Excellent          0.61538462
## Failed             0.01025641
## Fair               0.03589744
## Fair Good          0.09743590
## Good               0.10256410
## Poor               0.02051282
## Very Good          0.09743590
## Very Poor          0.02051282
library(plyr)
ddply(Data, .(Gequivalent), summarize,  Grades=mean(Grades))
library(plyr)
ddply(Data, .(AnxietyInter), summarize,  Grades=mean(Grades))
aggregate(Data[, 3:38], list(Data$School), mean)
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
aggregate(Data[, 5:38], list(Data$School), sd)
Anxiety= Data$AnxietyInter
Anxiety.freq = table(Anxiety)
Anxiety.relfreq = Anxiety.freq 
Anxiety.freq
## Anxiety
##     High anxiety      Low anxiety Moderate anxiety 
##               54                4              137
Anxiety.relfreq = Anxiety.freq / nrow(Data)
cbind(Anxiety.relfreq)
##                  Anxiety.relfreq
## High anxiety          0.27692308
## Low anxiety           0.02051282
## Moderate anxiety      0.70256410
res.aov2 <- aov(Data$Grades ~ Data$AnxietyInter)
summary(res.aov2)
##                    Df Sum Sq Mean Sq F value Pr(>F)  
## Data$AnxietyInter   2   1093   546.4   3.818 0.0237 *
## Residuals         192  27477   143.1                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
model.tables(res.aov2, type="means", se = TRUE)
## Design is unbalanced - use se.contrast() for se's
## Tables of means
## Grand mean
##          
## 80.92308 
## 
##  Data$AnxietyInter 
##     High anxiety Low anxiety Moderate anxiety
##            77.15          85            82.29
## rep        54.00           4           137.00
TukeyHSD(res.aov2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Data$Grades ~ Data$AnxietyInter)
## 
## $`Data$AnxietyInter`
##                                    diff         lwr       upr     p adj
## Low anxiety-High anxiety       7.851852  -6.7904134 22.494117 0.4157959
## Moderate anxiety-High anxiety  5.143823   0.6035632  9.684082 0.0219627
## Moderate anxiety-Low anxiety  -2.708029 -17.0411389 11.625081 0.8961098