knitr::opts_chunk$set(echo = TRUE)
library(readxl)
library(ggpubr)
## Loading required package: ggplot2
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(effsize)    
library(rstatix)
## 
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
## 
##     filter

#Loading Dataset

Dataset6.1 <- read_excel("C:/Users/Student/Documents/Assignment6_AA/Dataset6.1.xlsx")

Descriptive Statistics

Dataset6.1 %>%
  group_by(Group) %>%
  summarise(
    Mean = mean(Exam_Score, na.rm = TRUE),
    Median = median(Exam_Score, na.rm = TRUE),
    SD = sd(Exam_Score, na.rm = TRUE),
    N = n()
  )
## # A tibble: 2 × 5
##   Group        Mean Median    SD     N
##   <chr>       <dbl>  <dbl> <dbl> <int>
## 1 No Tutoring  71.9   71.5  7.68    40
## 2 Tutoring     78.4   78.7  7.18    40

Histogram

hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "No Tutoring"],
     main = "No Tutoring Histogram",
     xlab = "Exam Score",
     col = "lightgreen")

hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "Tutoring"],
     main = "Tutoring Histogram",
     xlab = "Exam Score",
     col = "lightblue")

Step 6: Boxplot

ggboxplot(Dataset6.1, x="Group", y="Exam_Score",
          color="Group",
          add="jitter")

Step 7: Shapiro-Wilk Test

shapiro.test(Dataset6.1$Exam_Score[Dataset6.1$Group == "Tutoring"])
## 
##  Shapiro-Wilk normality test
## 
## data:  Dataset6.1$Exam_Score[Dataset6.1$Group == "Tutoring"]
## W = 0.98859, p-value = 0.953
shapiro.test(Dataset6.1$Exam_Score[Dataset6.1$Group == "No Tutoring"])
## 
##  Shapiro-Wilk normality test
## 
## data:  Dataset6.1$Exam_Score[Dataset6.1$Group == "No Tutoring"]
## W = 0.98791, p-value = 0.9398

Step 8: Independent T-Test

t.test(Exam_Score ~ Group, data = Dataset6.1, var.equal = TRUE)
## 
##  Two Sample t-test
## 
## data:  Exam_Score by Group
## t = -3.8593, df = 78, p-value = 0.000233
## alternative hypothesis: true difference in means between group No Tutoring and group Tutoring is not equal to 0
## 95 percent confidence interval:
##  -9.724543 -3.105845
## sample estimates:
## mean in group No Tutoring    mean in group Tutoring 
##                  71.94627                  78.36147
wilcox.test(Exam_Score ~ Group, data = Dataset6.1)
## 
##  Wilcoxon rank sum exact test
## 
## data:  Exam_Score by Group
## W = 419, p-value = 0.0001833
## alternative hypothesis: true location shift is not equal to 0

Step 9: Effect Size (if significant)

cohens_d(Exam_Score ~ Group, data = Dataset6.1)
## # A tibble: 1 × 7
##   .y.        group1      group2   effsize    n1    n2 magnitude
## * <chr>      <chr>       <chr>      <dbl> <int> <int> <ord>    
## 1 Exam_Score No Tutoring Tutoring  -0.863    40    40 large
wilcox_effsize(Dataset6.1, Exam_Score ~ Group)
## # A tibble: 1 × 7
##   .y.        group1      group2   effsize    n1    n2 magnitude
## * <chr>      <chr>       <chr>      <dbl> <int> <int> <ord>    
## 1 Exam_Score No Tutoring Tutoring   0.410    40    40 moderate

#Reporting the result

cat("The Students who received tutoring (M = 78.36, SD = 7.18)
were significantly different from students who did not receive tutoring 
(M = 71.95, SD = 7.68), t(78) = −3.86, p < .001. 
The effect size was large (Cohen’s d = 0.86).")
## The Students who received tutoring (M = 78.36, SD = 7.18)
## were significantly different from students who did not receive tutoring 
## (M = 71.95, SD = 7.68), t(78) = −3.86, p < .001. 
## The effect size was large (Cohen’s d = 0.86).