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)

A6Q3 <- read_excel("A6Q3.xlsx")


A6Q3 %>%
  group_by(cardio_condition) %>%
  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
##   cardio_condition  Mean Median    SD     N
##   <chr>            <dbl>  <dbl> <dbl> <int>
## 1 cardio            70.8   69.5  7.35    25
## 2 nocardio          74.7   73.3  7.57    25
hist(A6Q3$Weight[A6Q3$cardio_condition == "cardio"],
     main = "Histogram of cardio weight",
     xlab = "Value",
     ylab = "Frequency",
     col = "lightblue",
     border = "black",
     breaks = 10)

hist(A6Q3$Weight[A6Q3$cardio_condition == "nocardio"],
     main = "Histogram of nocardio weight",
     xlab = "Value",
     ylab = "Frequency",
     col = "lightgreen",
     border = "black",
     breaks = 10)

#Group 1: cardio
#The first variable looks normally distributed.
#The data is symmetrical.
#The data has a proper bell curve.


#Group 2: nocardio
#The second variable looks normally distributed.
#The data is symmetrical.
#The data has a proper bell curve.

ggboxplot(A6Q3, x = "cardio_condition", y = "Weight",
         color = "cardio_condition",
         palette = "jco",
         add = "jitter")

#Boxplot 1: cardio
#There are dots outside the boxplot.
#The dots are close to the whiskers.
#The dots are not very far away from the whiskers.
#Based on these findings, the boxplot is normal.

#Boxplot 2: nocardio
#There are dots outside the boxplot.
#The dots are close to the whiskers.
#The dots are not very far away from the whiskers.
#Based on these findings, the boxplot is normal.

shapiro.test(A6Q3$Weight[A6Q3$cardio_condition == "cardio"])
## 
##  Shapiro-Wilk normality test
## 
## data:  A6Q3$Weight[A6Q3$cardio_condition == "cardio"]
## W = 0.97686, p-value = 0.8166
shapiro.test(A6Q3$Weight[A6Q3$cardio_condition == "nocardio"])
## 
##  Shapiro-Wilk normality test
## 
## data:  A6Q3$Weight[A6Q3$cardio_condition == "nocardio"]
## W = 0.96745, p-value = 0.5812
#Group 1: Cardio
#The first group is normally distributed, (p = .817).

#Group 2: Nocardio
#The second group is normally distributed, (p = .581).

t.test(Weight ~ cardio_condition, data = A6Q3, var.equal = TRUE)
## 
##  Two Sample t-test
## 
## data:  Weight by cardio_condition
## t = -1.8552, df = 48, p-value = 0.06971
## alternative hypothesis: true difference in means between group cardio and group nocardio is not equal to 0
## 95 percent confidence interval:
##  -8.1605622  0.3280454
## sample estimates:
##   mean in group cardio mean in group nocardio 
##               70.81710               74.73336
cohens_d_result <- cohens_d(Weight ~ cardio_condition, data = A6Q3, pooled_sd = TRUE)
print(cohens_d_result)
## Cohen's d |        95% CI
## -------------------------
## -0.52     | [-1.09, 0.04]
## 
## - Estimated using pooled SD.
#An Independent T-Test was conducted to determine if there was a difference in Weight between Cardio and Nocardio.
#Group 1 scores (M = 70.8, SD = 7.35) were not significantly different from Group2 scores (M = 74.7, SD = 7.57), t(48) = -1.86, p > .05.