##Open libraries

library(readxl)
library(ggpubr)
## Loading required package: ggplot2
library(effsize)
library(rstatix)
## 
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
## 
##     filter

##Import dataset

A6Q2 <- read_excel("A6Q2.xlsx")

##Create groups for Before and After

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

Differences <- After - Before

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

##Normality Check 1, Histogram

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

##Histogram Interpretation

#Histogram of Difference Scores The difference scores look abnormally distributed. The data is negatively skewed. The data does not have a proper bell curve.

##Boxplot for Outliers, Normality Check 2

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

##Interpretation of the Boxplots

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

##Shapiro-Wilk Test Interpretation

#Shapiro-Wilk Difference Scores The data is not normally distributed, (p = .028).

##Report om data Normality Data is abnormal.

##Wilcoxon Signed Rank Test

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

##Effect Size for Wilcoxon Signed Rank Calculation

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

##Wilcoxon Signed Rank Report 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 = 75.96) were significantly different from after scores (Mdn = 58.36), V = 210, p = < 0.001. The effect size was large, r = .88.