Is there a difference in body weight (kg) before versus after all
participants tried the keto diet?
Load Required Packages
library(readxl)
## Warning: package 'readxl' was built under R version 4.6.1
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.6.1
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.6.1
library(effsize)
## Warning: package 'effsize' was built under R version 4.6.1
library(rstatix)
## Warning: package 'rstatix' was built under R version 4.6.1
##
## Attaching package: 'rstatix'
## The following object is masked from 'package:stats':
##
## filter
library(rmarkdown)
Import dataset
A6Q2 <- read_excel("C:/Users/rteno/OneDrive - Saint Louis University/AA 5221/Assignment 6/Question 2/A6Q2.xlsx")
Create Groups for Before and After
Before <- A6Q2$Before
After <- A6Q2$After
Differences <- After - Before
Calculate the Descriptive Statistics
# Descriptive Statistics for Before
mean(Before, na.rm = TRUE)
## [1] 76.13299
median(Before, na.rm = TRUE)
## [1] 75.95988
sd(Before, na.rm = TRUE)
## [1] 7.781323
# Descriptive Statistics for After
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 Histogram (Normality Check #1)
hist(Differences,
main = "Histogram of Difference Scores",
xlab = "Value",
ylab = "Frequency",
col = "blue",
border = "black",
breaks = 20)

# Interpret the Histogram
# 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 Boxplot for Outliers (Normality Check #2)
boxplot(Differences,
main = "Distribution of Score Differences (After - Before)",
ylab = "Difference in Scores",
col = "blue",
border = "darkblue")

# Interpret the Boxplot
# Boxplot of Difference Scores
# There is one dot outside the box.
# The dot is not close to the whiskers.
# The dot is very far away from the whiskers.
# Based on these findings, the boxplot is abnormal.
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 = .029).
# Determine Overall Normality
# Histogram: Abnormal
# Boxplot: Abnormal
# Shapiro-Wilk: Abnormal
# Overall Decision: Abnormal
Conduct the 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
Calculate Effect Size for Wilcoxon Signed Rank Test
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 Test
# A Wilcoxon Signed-Rank Test was conducted to determine if there was a difference in
# body weight before versus after all participants tried the keto diet.
# Before scores (Mdn = 75.96) were significantly different
# from after scores (Mdn = 58.36), V = 210, p < .001.
# The effect size was large, r = .877.