# ============================================================
# R ile Normallik Testi (Shapiro-Wilk)
# Senaryo: Sera ve tarla ortaminda yetisen bitkilerin boy
#          olcumlerinin normal dagilip dagilmadigi inceleniyor.
# Kullanim: Bu dosyayi ve r-normallik-testi-veri.csv dosyasini
#           ayni klasore koyun, RStudio'da calistirin.
# Kaynak: veriakademi.com
# ============================================================

# --- 1. Veriyi oku ------------------------------------------
veri <- read.csv("r-normallik-testi-veri.csv", fileEncoding = "UTF-8")
head(veri)

sera  <- veri$boy_cm[veri$ortam == "Sera"]
tarla <- veri$boy_cm[veri$ortam == "Tarla"]

# --- 2. Shapiro-Wilk testi ----------------------------------
# H0: veri normal dagilir. p > 0.05 ise normallik REDDEDILMEZ.
shapiro.test(sera)
shapiro.test(tarla)

# --- 3. Carpiklik ve basiklik -------------------------------
# +-1 arasi degerler kabul edilebilir sinir olarak yorumlanir
library(psych)
describe(sera)[c("skew", "kurtosis")]
describe(tarla)[c("skew", "kurtosis")]

# --- 4. Gorsel kontrol: histogram + Q-Q grafigi -------------
library(ggplot2)
grafik <- ggplot(veri, aes(sample = boy_cm)) +
  stat_qq(color = "#2c7fb8") + stat_qq_line(color = "red") +
  facet_wrap(~ ortam, scales = "free") +
  labs(title = "Q-Q Grafigi: Noktalar Cizgiye Yakinsa Dagilim Normaldir",
       x = "Teorik Ceyrekler", y = "Gozlenen Degerler") +
  theme_minimal(base_size = 13)
grafik
ggsave("r-normallik-testi-grafik.png", grafik, width = 9, height = 4.5, dpi = 100)

# --- 5. Karar -----------------------------------------------
# Sera: p > 0.05  -> normal  -> parametrik test (t testi / ANOVA)
# Tarla: p < 0.05 -> normal degil -> nonparametrik test
#        (Mann-Whitney U / Kruskal-Wallis) veya donusum
