Open the Installed Packages

library(readxl)
library(ggpubr)
## Loading required package: ggplot2
library(effectsize)
library(rstatix)
## 
## Attaching package: 'rstatix'
## The following objects are masked from 'package:effectsize':
## 
##     cohens_d, eta_squared
## The following object is masked from 'package:stats':
## 
##     filter

Import and Name the Dataset

A6Q2 <- read_excel("C:/Users/krish/Downloads/A6Q2.xlsx")

Create Groups for Before and After

Before <- A6Q2$Before
After <- A6Q2$After
Differences <- After - Before

Calculate the Descriptive Statistics

mean(Before, na.rm = TRUE)
## [1] 76.13299
median(Before, na.rm = TRUE)
## [1] 75.95988
sd(Before, na.rm = TRUE)
## [1] 7.781323
mean(After, na.rm = TRUE)
## [1] 57.17874
median(After, na.rm = TRUE)
## [1] 58.36459
sd(After, na.rm = TRUE)
## [1] 14.39364

Create Histograms (Normality Check #1)

hist(Differences,
     main = "Histogram of Difference Scores",
     xlab = "Value",
     ylab = "Frequency",
     col = "pink",
     border = "red",
     breaks = 20)

Interpret the Histograms

Histogram of Difference Scores

The difference scores look abnormally distributed.

The data is negatively skewed.

The data does not have a proper bell curve.

Create Boxplots for Outliers (Normality Check #2)

boxplot(Differences,
        main = "Distribution of Score Differences (After - Before)",
        ylab = "Difference in Scores",
        col = "pink",
        border = "red")

Interpret the Boxplots

There is one dot outside the boxplot.

The dot is not close to the whiskers.

The dot is very far away from the whiskers.

Based on these findings, the boxplot is not normal.

Shapiro-Wilk Tests (Normality Check #3)

shapiro.test(Differences)
## 
##  Shapiro-Wilk normality test
## 
## data:  Differences
## W = 0.89142, p-value = 0.02856

Interpret the Shapiro-Wilk Test Shapiro-Wilk Difference Scores

The data is abnormally distributed, (p = .023)

Conduct the Wilcoxon Signed Rank since the data was ABNORMAL to determin if there was a difference before versus after

wilcox.test(Before, After, paired = TRUE, na.action = na.omit)
## 
##  Wilcoxon signed rank exact test
## 
## data:  Before and After
## V = 210, p-value = 1.907e-06
## alternative hypothesis: true location shift is not equal to 0

Calculate Effect Size for Wilcoxon Signed Rank

df_long <- data.frame(
  id = rep(1:length(Before), 2),
  time = rep(c("Before", "After"), each = length(Before)),
  score = c(Before, After)
)

wilcox_effsize(df_long, score ~ time, paired = TRUE)
## # A tibble: 1 × 7
##   .y.   group1 group2 effsize    n1    n2 magnitude
## * <chr> <chr>  <chr>    <dbl> <int> <int> <ord>    
## 1 score After  Before   0.877    20    20 large

Report the Wilcoxon Signed Rank

A Wilcoxon Signed-Rank Test was conducted to determine if there was a difference in OutcomeVariable before Independent Variable versus after Independent Variable.

Before scores (Mdn = 76) were significantly different from after scores (Mdn = 58.37), V = 210, p < .001.

The effect size was large, r = .88.