# Ders 6 — İlk beş dersi birleştir: bağımsız analiz

**Bağımsız özel ders içeriği; UCL'nin resmî modül/program materyali değildir.** Öğrencinin gerçek UCL modülü henüz doğrulanmadı. Tüm CSV gözlemleri kurgusaldır. Ek R paketi gerekmiyor. Öğretmenlik provası ve gerçek RStudio testleri kullanıcının isteğiyle ertelendi.

**90 dakika.** Kullanılacak veri `data/class_synthetic.csv`: 12 hayalî gözlem, `student_id`, `study_hours`, `quiz_score`, `group`. Ders 2–5 ile *birebir aynı CSV*.

## 00–10 dk · Plan

Kendi cümlenle iki soru yaz: (a) Grupların eldeki quiz puanları nasıl karşılaştırılıyor? (b) Çalışma saatleri ve puanlar arasında nasıl bir gözlenen ilişki var? Bir gözleme ve bir değişkene ne denir?

## 10–25 dk · Veri denetimi

`scripts/analysis_starter.R` dosyasını aç. `getwd()`, `file.exists()`, `read.csv()`, `str()`, `dim()`, `is.na()` kullan.

**Görev 1:** Grup başına toplam kayıt sayısı, `study_hours` / `quiz_score` için eksik sayıları ve iki değişkende geçerli çiftlerin sayısını açıkla.

## 25–42 dk · Güvenli filtreleme ve grup özetleri

**Görev 2:** Quiz puanı 70 veya üzerinde olan kayıtları **eksik puanlı satırları almadan** ayrı bir tabloda göster.

**Görev 3:** `group`, `valid_n`, `mean_score` sütunlarından oluşan bir özet veri çerçevesi üret. Her grubun paydasının neden aynı olmayabileceğini yaz. `tapply()` ya da `aggregate()` kullanılabilir.

**Görev 4:** Yalnız grup B ve puanı geçerli olan satırlarla ayrıca çalış; bu alt kümenin orijinal CSV'den nasıl farklı olduğunu belirt.

## 42–58 dk · İki grafikle anlat

**Görev 5:** Quiz puanının gruplara göre dağılımını **boxplot** ile göster. Ek olarak saat–puan ilişkisini **scatterplot** ile çiz. Başlık, eksen, birim, kullanılan örneklem (`n`) belli olmalı. Sayısal bir değişkenin tek başına dağılımını göstermek istersen üçüncü **histogram** seçeneği açık.

**Görev 6:** Scatterplot'ta `complete.cases` ile aynı satırdan gelen x/y çiftleri kullan; `study_hours` ve `quiz_score` için iki bağımsız `!is.na` filtresi oluşturma.

## 58–70 dk · Hata ayıklama

`scripts/debug_challenge.R` dosyasını aç, orijinalin bir **kopyasında** çalış. Bu dosya *bilerek bozuk*. İlk hata düzeltildiğinde sonraki hatalar ortaya çıkabilir.

**Görev 7:** En az altı kusuru bul; her biri için “hatalı kod → düzeltilmiş kod → neden” notu hazırla. Bunların bir kısmı çalışmayı durduran error, diğerleri ise sessizce yanlış sonuç üreten mantık hatasıdır.

## 70–85 dk · Mini rapor

`templates/report_template.md` içindeki başlıkları tamamla. **120–160 İngilizce kelime**; araştırma sorusu, sentetik veri tanımı, hangi satırların analiz edildiği, iki sayısal bulgu, seçtiğin grafikler ve iki metodolojik sınırlama yer alsın.

**Seçmeli:** Gerçek modülün korelasyon/regresyon içermesi durumunda `cor()` ve `lm()` ile doğrusal ilişkiyi ayrıca ele al; nedensellik iddiası yapma. İleri teknikleri bitirmek ana dersin şartı değildir.

## 85–90 dk · Teslim kontrolü

- [ ] Orijinal CSV'ye dokunmadım.
- [ ] `analysis_starter.R` içindeki TODO'ları kendi kodumla doldurdum.
- [ ] En az iki etiketli grafik çizdim.
- [ ] Eksik ve geçerli gözlem sayılarını açıkça belirttim.
- [ ] Altı hataya gerekçeli düzeltme yaptım.
- [ ] Raporda kurgusal veri ve nedensellik/temsil sınırlaması var.

**Çıkış bileti:** Bir `NA` satırını yanlış filtrelemek ile bir kolon adını yanlış yazmak nasıl farklı tür hatalara yol açar? İki grubun ortalaması neden küçük örneklemden genel sonuç çıkarmaz?

Çözümleri öğretmenin özel Divan rehberindedir; öğrenci ZIP'inde yoktur.
