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