# ============================================================
# R ile Basit Dogrusal Regresyon
# Senaryo: 60 hanenin aylik geliri ile gida harcamasi
#          arasindaki iliski modelleniyor.
# Kullanim: Bu dosyayi ve r-regresyon-analizi-veri.csv
#           dosyasini ayni klasore koyun, RStudio'da calistirin.
# Kaynak: veriakademi.com
# ============================================================

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

# --- 2. Once iliskiye bak: korelasyon -----------------------
cor(veri$aylik_gelir, veri$gida_harcamasi)

# --- 3. Regresyon modelini kur ------------------------------
# gida_harcamasi = b0 + b1 * aylik_gelir + hata
model <- lm(gida_harcamasi ~ aylik_gelir, data = veri)
summary(model)
# Okuma rehberi:
#  - Estimate (aylik_gelir): gelir 1 TL artinca harcamanin kac TL
#    arttigi (egim, b1)
#  - Pr(>|t|): katsayinin anlamliligi (p < 0.05 aranir)
#  - Multiple R-squared: modelin acikladigi varyans orani

# --- 4. Guven araliklari ------------------------------------
confint(model)

# --- 5. Varsayim kontrolu: artiklar (residuals) -------------
# Artiklar normal dagilmali (Shapiro) ve desensiz olmali
shapiro.test(residuals(model))

# --- 6. Tahmin: modeli kullanmak ----------------------------
yeni <- data.frame(aylik_gelir = c(40000, 60000, 80000))
predict(model, newdata = yeni)

# --- 7. Sacilim + regresyon dogrusu (teze eklenebilir) ------
library(ggplot2)
grafik <- ggplot(veri, aes(x = aylik_gelir, y = gida_harcamasi)) +
  geom_point(color = "#2c7fb8", size = 2.3) +
  geom_smooth(method = "lm", se = TRUE, color = "red", linewidth = 0.8) +
  labs(x = "Aylik Hane Geliri (TL)", y = "Aylik Gida Harcamasi (TL)",
       title = "Gelir ile Gida Harcamasi Regresyonu") +
  theme_minimal(base_size = 13)
grafik
ggsave("r-regresyon-analizi-grafik.png", grafik, width = 9, height = 4.5, dpi = 100)
