Step 2: Load the required 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

Step 3 : import and name dataset

dataset6.3 <- read_excel("/Users/sarva/Desktop/Dataset6.3.xlsx") 

Step 4 : seperate the data by condition

Before <- dataset6.3$Stress_Pre
After <- dataset6.3$Stress_Post

differences <- After - Before

we segregate the data into two groups Before and after

Step 5 : Calculate descriptive statistics for each group

mean(Before, na.rm = TRUE)
## [1] 65.86954
median(Before, na.rm = TRUE)
## [1] 67.33135
sd(Before, na.rm = TRUE)
## [1] 9.496524
mean(After, na.rm = TRUE)
## [1] 57.90782
median(After, na.rm = TRUE)
## [1] 59.14539
sd(After, na.rm = TRUE)
## [1] 10.1712

Step 6: Creating a histogram of the difference score

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

# Group difference , Skewness = Positve , Kurtosis = Mesokurtic Step 7 : Box plot of the difference score

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

# Data appears to be normal, with no outliers

Step 8 : Shapiro-Wilk test of normality

shapiro.test(differences)
## 
##  Shapiro-Wilk normality test
## 
## data:  differences
## W = 0.95612, p-value = 0.1745

After conducting shapiro-wilk test of normality, we obtain the p-value of 0.1745, which is greater than 0.05, indicating that the data is normal.

Step 10 : Dependent T test

t.test(Before, After, paired = TRUE)
## 
##  Paired t-test
## 
## data:  Before and After
## t = 3.9286, df = 34, p-value = 0.0003972
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##   3.843113 12.080317
## sample estimates:
## mean difference 
##        7.961715

After conducting T.test we obtain the p-value 0.00039, indicating the results were significant.

Step 11 : Calculating the effect size

cohens_d <- effectsize::cohens_d(Before, After, paired = TRUE)
## For paired samples, 'repeated_measures_d()' provides more options.
print(cohens_d)
## Cohen's d |       95% CI
## ------------------------
## 0.66      | [0.29, 1.03]
df_long <- data.frame(
  id = rep(1:length(Before), 2),
  time = rep(c("Before", "After"), each = length(Before)),
  score = c(Before, After)
)

print(df_long)
##    id   time    score
## 1   1 Before 82.04903
## 2   2 Before 57.87961
## 3   3 Before 62.22015
## 4   4 Before 63.80351
## 5   5 Before 63.76039
## 6   6 Before 67.68184
## 7   7 Before 72.26841
## 8   8 Before 67.33135
## 9   9 Before 68.39114
## 10 10 Before 59.48085
## 11 11 Before 68.47701
## 12 12 Before 79.84592
## 13 13 Before 66.88326
## 14 14 Before 89.43260
## 15 15 Before 53.46561
## 16 16 Before 56.95328
## 17 17 Before 69.56069
## 18 18 Before 69.20333
## 19 19 Before 70.77584
## 20 20 Before 69.46356
## 21 21 Before 74.17256
## 22 22 Before 63.92938
## 23 23 Before 74.88335
## 24 24 Before 54.27761
## 25 25 Before 57.41985
## 26 26 Before 65.95001
## 27 27 Before 41.69069
## 28 28 Before 69.17516
## 29 29 Before 53.79673
## 30 30 Before 60.25315
## 31 31 Before 49.69588
## 32 32 Before 69.15715
## 33 33 Before 71.34198
## 34 34 Before 77.30847
## 35 35 Before 63.45436
## 36  1  After 59.14539
## 37  2  After 35.73737
## 38  3  After 74.35790
## 39  4  After 56.40679
## 40  5  After 58.28267
## 41  6  After 42.63347
## 42  7  After 58.78158
## 43  8  After 60.50396
## 44  9  After 60.44087
## 45 10  After 65.99738
## 46 11  After 61.41410
## 47 12  After 60.58718
## 48 13  After 67.53879
## 49 14  After 69.36415
## 50 15  After 48.15712
## 51 16  After 48.90345
## 52 17  After 49.10908
## 53 18  After 55.50660
## 54 19  After 61.20851
## 55 20  After 51.34631
## 56 21  After 47.91083
## 57 22  After 61.41202
## 58 23  After 61.88398
## 59 24  After 75.70164
## 60 25  After 60.12662
## 61 26  After 72.62017
## 62 27  After 58.55156
## 63 28  After 70.48178
## 64 29  After 48.01958
## 65 30  After 69.70914
## 66 31  After 33.03418
## 67 32  After 54.06854
## 68 33  After 56.36556
## 69 34  After 65.08823
## 70 35  After 46.37720
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.562    35    35 large

We computed the effect size as 0.66 indicating medium differences betweeen the two groups. P-Value > 0.5 , Df=34, T-test p-value = 0.00039