One Way ANOVA

Giriş

Bu araştırmada kontrol, hafif egzersiz ve yoğun egzersiz gruplarının stres düzeyleri karşılaştırılmıştır. Amaç, farklı egzersiz düzeylerine sahip grupların stres puanı ortalamaları arasında anlamlı bir fark olup olmadığını incelemektir. Üç farklı grup karşılaştırıldığı için One Way ANOVA testi kullanılmıştır.

Hipotezler

H0: Grupların stres puanı ortalamaları arasında anlamlı bir fark yoktur.

H1: Grupların stres puanı ortalamaları arasında anlamlı bir fark vardır.

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(car)
## Warning: package 'car' was built under R version 4.5.3
## Zorunlu paket yükleniyor: carData
## Warning: package 'carData' was built under R version 4.5.3
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
library(effectsize)
## Warning: package 'effectsize' was built under R version 4.5.3

Veri Setinin Oluşturulması

set.seed(123)

anova_data <- data.frame(
  participant_id = 1:90,
  group = rep(c("Kontrol", "Hafif_Egzersiz", "Yogun_Egzersiz"), each = 30),
  anxiety_score = c(
    rnorm(30, mean = 58, sd = 8),
    rnorm(30, mean = 52, sd = 8),
    rnorm(30, mean = 46, sd = 8)
  )
)

head(anova_data)
##   participant_id   group anxiety_score
## 1              1 Kontrol      53.51619
## 2              2 Kontrol      56.15858
## 3              3 Kontrol      70.46967
## 4              4 Kontrol      58.56407
## 5              5 Kontrol      59.03430
## 6              6 Kontrol      71.72052

Veri Setini İnceleyelim

glimpse(anova_data)
## Rows: 90
## Columns: 3
## $ participant_id <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, …
## $ group          <chr> "Kontrol", "Kontrol", "Kontrol", "Kontrol", "Kontrol", …
## $ anxiety_score  <dbl> 53.51619, 56.15858, 70.46967, 58.56407, 59.03430, 71.72…

Eksik Veri Kontrolü

colSums(is.na(anova_data))
## participant_id          group  anxiety_score 
##              0              0              0

Grup Değişkeninin Düzenlenmesi

anova_data$group <- as.factor(anova_data$group)

table(anova_data$group)
## 
## Hafif_Egzersiz        Kontrol Yogun_Egzersiz 
##             30             30             30

Betimsel İstatistikler

anova_istatistik <- anova_data %>%
  group_by(group) %>%
  summarise(
    N = n(),
    Ortalama = mean(anxiety_score),
    Standart_Sapma = sd(anxiety_score)
  )

anova_istatistik
## # A tibble: 3 × 4
##   group              N Ortalama Standart_Sapma
##   <fct>          <int>    <dbl>          <dbl>
## 1 Hafif_Egzersiz    30     53.4           6.68
## 2 Kontrol           30     57.6           7.85
## 3 Yogun_Egzersiz    30     46.2           6.96

Normallik Testi

anova_data %>%
  group_by(group) %>%
  summarise(
    shapiro_p = shapiro.test(anxiety_score)$p.value
  )
## # A tibble: 3 × 2
##   group          shapiro_p
##   <fct>              <dbl>
## 1 Hafif_Egzersiz     0.961
## 2 Kontrol            0.797
## 3 Yogun_Egzersiz     0.848

One Way Anova

anova_sonuc <- aov(anxiety_score ~ group, data = anova_data)

summary(anova_sonuc)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## group        2   2005  1002.5   19.45 1.04e-07 ***
## Residuals   87   4485    51.5                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Post Hoc Testi

TukeyHSD(anova_sonuc)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = anxiety_score ~ group, data = anova_data)
## 
## $group
##                                     diff         lwr       upr     p adj
## Kontrol-Hafif_Egzersiz          4.196463  -0.2239396  8.616866 0.0664473
## Yogun_Egzersiz-Hafif_Egzersiz  -7.231344 -11.6517464 -2.810941 0.0005479
## Yogun_Egzersiz-Kontrol        -11.427807 -15.8482097 -7.007404 0.0000001

Görselleştirme

boxplot(
  anxiety_score ~ group,
  data = anova_data,
  main = "Gruplara Gore Stres Puanlari",
  xlab = "Gruplar",
  ylab = "Stres Puani"
)

Sonuç

One Way ANOVA sonucunda elde edilen p değeri 0.05 anlamlılık düzeyi ile karşılaştırılmıştır. p değeri 0.05’ten küçük ise H0 hipotezi reddedilir ve gruplar arasında anlamlı fark olduğu kabul edilir. p değeri 0.05’ten büyük ise H0 hipotezi reddedilemez ve gruplar arasında anlamlı fark olmadığı sonucuna ulaşılır. Post Hoc testi ile anlamlı farkın hangi gruplar arasında olduğu değerlendirilmiştir.