A1 — Algoritmayı anlat
Girdiyi ve hedef çıktıyı belirt → eksikleri bul → geçerli yanıtları seç → toplam ve geçerli n'yi hesapla → toplamı n'ye böl → eksik veri kuralını raporla.
Programlama temelleri dersi için özgün çözülmüş örnekler, R betiği, beklenen sonuçlar ve yorumlama açıklamaları.
Aşağıdaki bütün alıştırmalar ve sayılar özgün, kurgusal öğretim örnekleridir. UCL'nin özgün sınavlarının cevapları değildir. Anahtar bilinçli olarak açık yayımlanmıştır; öğrenci önce başlangıç dosyasını çözmelidir.
# ferdo R Lab — Lesson 0 · instructor worked solution (synthetic data)
scores <- c(12, 10, 14, NA, 9)
length(scores) # 5
mean(scores) # NA
mean(scores, na.rm = TRUE) # 11.25
sum(!is.na(scores)) # 4
id <- c("A", "B", "C", "D", "E")
before <- c(12, 10, 14, NA, 9)
after <- c(14, 13, 13, 15, 12)
delta <- after - before
print(data.frame(id, before, after, delta))
valid_pairs <- sum(!is.na(delta))
increased <- sum(delta > 0, na.rm = TRUE)
decreased <- sum(delta < 0, na.rm = TRUE)
paired_mean_change <- mean(delta, na.rm = TRUE)
pre_mean <- mean(before, na.rm = TRUE)
post_mean <- mean(after)
stopifnot(valid_pairs == 4, increased == 3, decreased == 1,
paired_mean_change == 1.75,
pre_mean == 11.25, post_mean == 13.4)
Yalnız base R kullanır; ek paket veya özel veri içermez.
| Hesap | Yanıt | Gerekçe |
|---|---|---|
| Vektördeki eleman sayısı | 5 | `length()` eksik elemanı da sayar. |
| NA çıkarılmadan ortalama | NA | R'nin varsayılanı eksik değeri hesaplamaya taşır. |
| Geçerli ön test ortalaması | 11,25 | (12+10+14+9)/4 |
| Değişimi hesaplanabilen kişi | 4 | D'nin ön testi yok; değişimi bilinmiyor. |
| Kişisel değişimler | 2, 3, −1, NA, 3 | Her kişi için son test eksi ön test. |
| Artan / azalan kişi | 3 / 1 | Yalnız eşleşen kayıtlar sınıflanabilir. |
| Eşleştirilmiş değişim ortalaması | 1,75 | (2+3−1+3)/4 |
| Bütün son test puanlarının ortalaması | 13,40 | (14+13+13+15+12)/5 |
| Son test ort. − geçerli ön test ort. | 2,15 | Paydalar farklı; eşleştirilmiş ortalama değişim değil. |
Girdiyi ve hedef çıktıyı belirt → eksikleri bul → geçerli yanıtları seç → toplam ve geçerli n'yi hesapla → toplamı n'ye böl → eksik veri kuralını raporla.
`mean(c(2,4,6))` = 4.
`sum(!is.na(before))` = 4.
`sum(delta>0,na.rm=TRUE)` = 3; `sum(delta<0,na.rm=TRUE)` = 1.
`mean(before)` NA döner; `mean(before, na.rm=TRUE)` 11,25 verir. Bu eksikleri hesaptan çıkarır ama örneklem kaybı yanlılığını çözmez.
Tek başına fark müdahale etkisini kanıtlamaz: eksik gözlemler, ortalamaya regresyon, seçilim, kontrol grubu ve karşı olgusal durum düşünülür.
Kişisel değişim ortalaması dört kişiyi kullanır; çünkü D'nin ön testi yoktur. Bütün son testlerin ortalamasında ise beş kişi vardır. Dört kişinin ön test ortalamasını beş kişinin son test ortalamasından çıkarmak farklı örneklemleri karşılaştırır. Matematiksel olarak doğru işlem araştırma sorusunun yanlış yanıtı olabilir.
Bu sonuçlardan hiçbiri tek başına nedensellik kanıtı değildir.