# ============================================================
# R ile Excel Verisi Okuma (readxl)
# Senaryo: Iki sayfali bir Excel dosyasindaki ogrenci notlari
#          ve anket verisi R'a aktariliyor.
# Kullanim: Bu dosyayi ve r-excel-verisi-okuma-veri.xlsx
#           dosyasini ayni klasore koyun, RStudio'da calistirin.
# Kaynak: veriakademi.com
# ============================================================

# --- 1. readxl paketini yukle -------------------------------
# Ilk seferde kurulum gerekir: install.packages("readxl")
library(readxl)

# --- 2. Dosyadaki sayfalari listele -------------------------
excel_sheets("r-excel-verisi-okuma-veri.xlsx")

# --- 3. Ilk sayfayi oku -------------------------------------
ogrenciler <- read_excel("r-excel-verisi-okuma-veri.xlsx", sheet = "Ogrenciler")
head(ogrenciler)
str(ogrenciler)   # sutun turlerini readxl kendisi tahmin eder

# --- 4. Ikinci sayfayi oku ----------------------------------
anket <- read_excel("r-excel-verisi-okuma-veri.xlsx", sheet = "Anket")
head(anket)

# --- 5. Turkce sutun adlariyla calismak ---------------------
# "Bölüm" gibi adlar backtick ile kullanilir:
table(ogrenciler$`Bölüm`)
# Pratik cozum: adlari sadelestirin
names(ogrenciler) <- c("no", "bolum", "vize", "final")
head(ogrenciler)

# --- 6. Okunan veriyle ilk analiz ---------------------------
ogrenciler$ortalama <- 0.4 * ogrenciler$vize + 0.6 * ogrenciler$final
tapply(ogrenciler$ortalama, ogrenciler$bolum, mean)

# --- 7. Sik hatalar -----------------------------------------
# "cannot open file": dosya adi/uzantisi yanlis ya da R baska
#   klasore bakiyor -> getwd() ile calisma klasorunu kontrol edin,
#   RStudio'da Session > Set Working Directory > To Source File
#   Location secin.
# Basliktan once aciklama satirlari varsa: read_excel(..., skip = 2)
# Belirli araligi okumak icin: read_excel(..., range = "A1:D13")

# --- 8. CSV ile kiyas ---------------------------------------
# CSV tek sayfadir ve duz metindir; Excel cok sayfali ve bicimlidir.
# Buyuk veri paylasiminda CSV, kurum ici raporlarda xlsx yaygindir.
# CSV okuma: read.csv("dosya.csv", fileEncoding = "UTF-8")
