Open the Installed 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)
Dataset6.1 <- read_excel("C:/Users/tejas/Downloads/Dataset6.1.xlsx")
Calculate Descriptive Statistics for Each Group
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
Created Histograms for Each Group
hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "Tutoring"],
main = "Histogram of Tutoring Scores",
xlab = "Value",
ylab = "Frequency",
col = "lightblue",
border = "black",
breaks = 10)
hist(Dataset6.1$Exam_Score[Dataset6.1$Group == "No Tutoring"],
main = "Histogram of No Tutoring Scores",
xlab = "Value",
ylab = "Frequency",
col = "lightgreen",
border = "black",
breaks = 10)
For the Tutoring histogram, the data appears Symmetrical(normally distributed). The data also appears to have a proper bell curve.
For the No Tutoring histogram, the data appears symmetrical (normal). The kurtosis also appears bell-shaped (normal).
No need to use a Mann-Whitney U test.
Created Boxplots for Each Group
ggboxplot(Dataset6.1, x = "Group", y = "Exam_Score",
color = "Group",
palette = "jco",
add = "jitter")
Output Interpretation
The Tutoring boxplot appears normal. There are no dots past the whiskers. The No Tutoring boxplot appears normal. Although one outlier is little far but it does not impact. We may not use a Mann-Whitney U test.
Shapiro-Wilk Test of Normality
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
Output Interpretation
The data for Tutoring was normal (0.953). The data for No Tutoring was normal (0.9398). After conducting all three normality tests, it is clear we must use a Independent T-test.
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
Result Interpretation Here p-value(0.000233) is less than 0.05, this means the results were SIGNIFICANT. Continue to Calculate the Effect Size.
Calculate the Effect Size Cohen’s D for Independent T-Test
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.
Here the size of the effect is large. There is large difference between the group averages.
Independent T-test Results
Tutoring (M = 78.4, SD = 7.18) was significantly different from Not Tutoring (M = 71.9, SD = 7.68)in exam scores, t(78) = -3.8593, p = 0.000233. The effect size was large (Cohen’s d = -0.86).