https://rpubs.com/anup0stha/1398787

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
Dataset6.4 <- read_excel("/Volumes/Anup/SLU/3rd Sem/Applied Analytics/Assignment 6/Dataset6.4.xlsx")

Separating the Data by Condition

Before <- Dataset6.4$Stress_Pre
After <- Dataset6.4$Stress_Post

Differences <- Before - After

##Calculating Descriptive Statistics for Each Group

mean(Before, na.rm = TRUE)
## [1] 51.53601
median(Before, na.rm = TRUE)
## [1] 47.24008
sd(Before, na.rm = TRUE)
## [1] 17.21906
mean(After, na.rm = TRUE)
## [1] 41.4913
median(After, na.rm = TRUE)
## [1] 40.84836
sd(After, na.rm = TRUE)
## [1] 18.88901

Create a Histogram of the Difference Scores

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

the Histogram appears positive skewed and bell shaped. the data is not normal

Create a Boxplot of the Difference Scores

boxplot(Differences,
        main = "Distribution of Stress Level Differences (After - Before)",
        ylab = "Difference in Stress Level",
        col = "blue",
        border = "darkblue")

There were two outlier in the boxplot and were two away from the wiskers

Shapiro-Wilk Test of Normality

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

The p-value was below .05, which means we should proceed with the Wilcoxon Sign Rank.

Conduct Inferential Test

wilcox.test(Before, After, paired = TRUE)
## 
##  Wilcoxon signed rank exact test
## 
## data:  Before and After
## V = 620, p-value = 2.503e-09
## alternative hypothesis: true location shift is not equal to 0

Calculate Effect size

Rank Biserial Correlation for Mann-Whitney U

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.844    35    35 large

There wasa significant difference in stress level Before (Mdn = 47.24) and after (Mdn = 40.84), V = 620, p = 2.503e-09. The effect size was large (r₍rb₎ = 0.844).