Do students who participate in a peer tutoring program have different final exam scores compared to students who do not participate?
Null Hypothesis (H₀):
There is no difference in final exam scores between students who
participated in tutoring and those who did not.
Alternative Hypothesis (H₁):
There is a difference in final exam scores between students who
participated in tutoring and those who did not.
install.packages(“readxl”) install.packages(“ggpubr”) install.packages(“dplyr”) install.packages(“effectsize”) install.packages(“effsize”)
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('/Users/sharathnallaganti/Desktop/3rd sem/applied analytics/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
Students in the Tutoring group had a mean score of
78.36 (SD = 7.18).
Students in the No Tutoring group had a mean score of
71.95 (SD = 7.68).
This suggests that students who participated in tutoring performed better on average.
hist(Dataset6_1$Exam_Score[Dataset6_1$Group == "Tutoring"],
main = "Histogram of Tutoring Group",
xlab = "Exam Score",
col = "lightblue",
border = "black",
breaks = 10)
hist(Dataset6_1$Exam_Score[Dataset6_1$Group == "No Tutoring"],
main = "Histogram of No Tutoring Group",
xlab = "Exam Score",
col = "lightgreen",
border = "black",
breaks = 10)
Both histograms appear approximately symmetrical and bell-shaped, suggesting normal distributions.
ggboxplot(Dataset6_1, x = "Group", y = "Exam_Score",
color = "Group",
palette = "jco",
add = "jitter")
There were no extreme outliers far from the whiskers.
The distributions appear reasonably normal.
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
Tutoring group: p = 0.953 (> .05)
No Tutoring group: p = 0.940 (> .05)
Since both p-values are greater than .05, the data are normally distributed.
Therefore, we proceed with the Independent Samples 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
t(78) = -3.86
p = 0.000233
95% CI [-9.72, -3.11]
cohens_d(Exam_Score ~ Group, data = Dataset6_1, pooled_sd = TRUE)
## Cohen's d | 95% CI
## --------------------------
## -0.86 | [-1.32, -0.40]
##
## - Estimated using pooled SD.
Cohen’s d = 0.86 (Large effect)
Students in the Tutoring group (M = 78.36, SD = 7.18) scored
significantly higher than students in the No Tutoring group (M = 71.95,
SD = 7.68),
t(78) = -3.86, p < .001.
The effect size was large (Cohen’s d = 0.86).
There is strong statistical evidence that the peer tutoring program improves final exam performance.
The difference between groups was not only statistically significant but also practically meaningful, with a large effect size.