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(effectsize)
library(effsize)
Dataset6.1 <- read_excel("C:/Users/Leyav/Downloads/Dataset6.1.xlsx")
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
hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "No Tutoring"],
     main = "Histogram of No Tutoring group Scores",
     xlab = "Scores",
     ylab = "Frequency",
     col = "lightblue",
     border = "black",
     breaks = 10)

hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "Tutoring"],
     main = "Histogram of Tutoring group Scores",
     xlab = "Scores",
     ylab = "Frequency",
     col = "lightgreen",
     border = "black",
     breaks = 10)

For the No tutoring group histogram, the data appears symmetrical (normal). The kurtosis also appears bell-shaped (normal). For the tutoring group histogram, the data appears symmetrical (normal). The kurtosis also appears bell-shaped (normal). We may need to use a Independent t- test.

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

For tutoring box plot appears normal as no dots are far away from the whiskers. For non tutoring box plot appears normal as most of the dots are near the whiskers and inside the box. but few dots are outside the whiskers but are not too far away so we can consider it normal we may need to use independent T test

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
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

The data for No Tutoring is normal as p value is >0.05 (0.9398) The data for Tutoring is normal as p value is >0.05 (0.953) After conducting all three normality tests, it is clear we must use a 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

If p < .05, (0.00), this means the results were SIGNIFICANT. The difference between the two groups was significant (p < .05), so we calculate the effect size.

cohens_d_result <- cohens_d(Exam_Score ~ Group, data = Dataset6.1, pooled_sd = TRUE)
print(cohens_d_result)
## Cohen's d |         95% CI
## --------------------------
## -0.86     | [-1.32, -0.40]
## 
## - Estimated using pooled SD.

There is a large difference between the group averages.

No tutoring (M = 71.9, SD = 7.68) was significantly different from Tutoring (M = 78.4, SD = 7.18), t(78) = -3.86, p = 0.000. The effect size was large (Cohen’s d = -0.86).