# ============================================================
# R ile Mann-Whitney U Testi (Wilcoxon Rank-Sum)
# Senaryo: Iki fizik tedavi yonteminin agri skorlari (0-10)
#          karsilastiriliyor; veri normal dagilmiyor ve
#          orneklem kucuk oldugu icin nonparametrik test.
# Kullanim: Bu dosyayi ve r-mann-whitney-u-testi-veri.csv
#           dosyasini ayni klasore koyun, RStudio'da calistirin.
# Kaynak: veriakademi.com
# ============================================================

# --- 1. Veriyi oku ------------------------------------------
veri <- read.csv("r-mann-whitney-u-testi-veri.csv", fileEncoding = "UTF-8")
head(veri)
table(veri$yontem)

# --- 2. Neden parametrik degil? Once normallik kontrolu -----
tapply(veri$agri_skoru, veri$yontem, function(x) shapiro.test(x)$p.value)
# p < 0.05 (en az bir grupta) + n = 14 -> t testi yerine Mann-Whitney U

# --- 3. Grup ozetleri: nonparametrikte MEDYAN raporlanir ----
tapply(veri$agri_skoru, veri$yontem, median)
tapply(veri$agri_skoru, veri$yontem, IQR)

# --- 4. Mann-Whitney U testi --------------------------------
# R'da wilcox.test fonksiyonu bu testi yapar
sonuc <- wilcox.test(agri_skoru ~ yontem, data = veri, exact = FALSE)
sonuc

# --- 5. Etki buyuklugu (rank-biserial korelasyon) -----------
library(effectsize)
rank_biserial(agri_skoru ~ yontem, data = veri)

# --- 6. Kutu grafigi (teze eklenebilir) ---------------------
library(ggplot2)
grafik <- ggplot(veri, aes(x = yontem, y = agri_skoru, fill = yontem)) +
  geom_boxplot(width = 0.5, show.legend = FALSE) +
  labs(x = "Tedavi Yontemi", y = "Agri Skoru (0-10)",
       title = "Tedavi Yontemine Gore Agri Skorlari") +
  theme_minimal(base_size = 13)
grafik
ggsave("r-mann-whitney-u-testi-grafik.png", grafik, width = 9, height = 4.5, dpi = 100)
