library(readxl)
library(ggpubr)
## Loading required package: ggplot2
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(effectsize)
library(effsize)
data <- read_excel("C:/Users/kvpra/Documents/spring 2026/rlaanguage/A6Q4-2.xlsx")
colnames(data) <- c("Exercise", "Weight")
data %>%
group_by(Exercise) %>%
summarise(
Mean = mean(Weight, na.rm = TRUE),
Median = median(Weight, na.rm = TRUE),
SD = sd(Weight, na.rm = TRUE),
N = n()
)
## # A tibble: 2 × 5
## Exercise Mean Median SD N
## <chr> <dbl> <dbl> <dbl> <int>
## 1 lift 120. 116. 53.3 25
## 2 nolift 33.0 40.8 56.7 25
hist(data$Weight[data$Exercise == "lift"],
main = "Histogram of Lift Weight",
xlab = "Weight (kg)",
ylab = "Frequency",
col = "lightblue",
border = "black",
breaks = 10)

hist(data$Weight[data$Exercise == "nolift"],
main = "Histogram of No Lift Weight",
xlab = "Weight (kg)",
ylab = "Frequency",
col = "lightgreen",
breaks = 10)

#Group 1: No Lift
#The first variable looks abnormally distributed.
#The data is negatively skewed.
#The data does not have a proper bell curve.
#Group 2: Lift
#The second variable looks abnormally distributed.
#The data is positively skewed.
#The data does not have a proper bell curve.
ggboxplot(data, x = "Exercise", y = "Weight",
color = "Exercise",
palette = "jco",
add = "jitter")

#Boxplot 1: No Lift
#There are dots outside the boxplot.
#The dots are not close to the whiskers.
#The dots are very far away from the whiskers.
#The outliers are not balanced.
#Based on these findings, the boxplot is not normal.
#Boxplot 2: Lift
#There are dots outside the boxplot.
#The dots are not close to the whiskers.
#The dots are very far away from the whiskers.
#The outliers are not balanced.
#Based on these findings, the boxplot is not normal.
shapiro.test(data$Weight[data$Exercise == "lift"])
##
## Shapiro-Wilk normality test
##
## data: data$Weight[data$Exercise == "lift"]
## W = 0.78786, p-value = 0.0001436
shapiro.test(data$Weight[data$Exercise == "nolift"])
##
## Shapiro-Wilk normality test
##
## data: data$Weight[data$Exercise == "nolift"]
## W = 0.70002, p-value = 7.294e-06
#Group 1: Lift
#The first group is abnormally distributed, (p < .001).
#Group 2: No Lift
#The second group is abnormally distributed, (p < .001).
# Final Normality Decision
# Lift group:
# Histogram = abnormal
# Boxplot = abnormal
# Shapiro-Wilk = abnormal
# Final decision: The data is abnormally distributed.
# No Lift group:
# Histogram = abnormal
# Boxplot = abnormal
# Shapiro-Wilk = abnormal
# Final decision: The data is abnormally distributed.
wilcox.test(Weight ~ Exercise, data = data)
##
## Wilcoxon rank sum exact test
##
## data: Weight by Exercise
## W = 603, p-value = 7.132e-11
## alternative hypothesis: true location shift is not equal to 0
mw_effect <- cliff.delta(Weight ~ Exercise, data = data)
print(mw_effect)
##
## Cliff's Delta
##
## delta estimate: 0.9296 (large)
## 95 percent confidence interval:
## lower upper
## 0.7993841 0.9764036
# A Mann-Whitney U test was conducted to determine if there was a difference in body weight between participants who lift weights and those who do not.
# Lift scores (Mdn = 116.00) were significantly different from No Lift scores (Mdn = 40.84), U = 603.00, p < .001.
# The effect size was large, Cliff's Delta = .93.