Scenario 6.1 Peer Tutoring Program
Step 1 Install packages (run once)
install.packages(“readxl”) install.packages(“ggpubr”) install.packages(“dplyr”) install.packages(“effectsize”) install.packages(“effsize”)
Step 2 Load packages
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)
Step 3 Import dataset
Dataset6_1 <- read_excel("C:/Users/Mrlaz/Downloads/Dataset6.1.xlsx")
Step 4 Descriptive stats
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
Shows average exam scores for tutoring vs no tutoring
Step 5 Histograms
hist(Dataset6_1$Exam_Score[Dataset6_1$Group=="Tutoring"],
main="Tutoring Scores", col="lightblue", border="black")
hist(Dataset6_1$Exam_Score[Dataset6_1$Group=="No Tutoring"],
main="No Tutoring Scores", col="lightgreen", border="black")
Step 6 Boxplot
ggboxplot(Dataset6_1, x="Group", y="Exam_Score",
color="Group", palette="jco", add="jitter")
Step 7 Shapiro
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
If both normal → 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 not normal use: wilcox.test(Exam_Score ~ Group, data=Dataset6_1)
Effect size
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.
Students who attended tutoring (M = 78.36, SD = 7.18) scored significantly higher than students who did not attend tutoring (M = 71.95, SD = 7.68), t(78) = 3.86, p < .001
Step: Normality Tutoring p = 0.953 → normal No Tutoring p = 0.940 → normal Both normal → Independent t-test Descriptives Tutoring: M = 78.36, SD = 7.18 No tutoring: M = 71.95, SD = 7.68 Test result t(78) = 3.86 p < .001 → significant