Eksik değerleri başlatma ve değişkenler üzerinde yineleme
Az önce gördüğün gibi, impute_lm() çalıştırmak tüm eksik değerleri doldurmayabilir. Hepsini imputasyonla doldurduğundan emin olmak için, önceki bölümde öğrendiğin ve son gözlenen değeri ileri taşıyan hot-deck gibi basit bir yöntemle eksik değerleri başlatmalısın.
Ayrıca, tek bir imputasyon genellikle yeterli değildir. Başlatılan temel değerlere dayanır ve yanlı olabilir. Doğru yaklaşım, değişkenler üzerinde yineleme yaparak, her seferinde birini orijinalde eksik oldukları konumlarda imputasyonla doldurmaktır.
Bu egzersizde önce hot-deck imputasyonuyla eksik değerleri başlatacak, ardından tao verisindeki air_temp ve humidity üzerinde beş kez döngü kurarak bunları lineer regresyonla imputasyonla dolduracaksın. Hadi başlayalım!
Bu egzersiz
R'de Atamaya Dayalı Eksik Veri Doldurma
kursunun bir parçasıdırEgzersiz talimatları
- Eksik değerleri
hotdeck()imputasyonuyla başlat. humiditydeğişkeninin orijinalde eksik olduğu yerler için bir boolean maske oluştur ve bunumissing_humiditydeğişkenine ata.- For döngüsünün içinde, oluşturduğun boolean maskeyi kullanarak
tao_impiçindekihumiditydeğerlerini orijinalde eksik oldukları yerlerdeNAyap. - For döngüsünün içinde,
tao_impiçindekihumiditydeğerlerini lineer regresyonla imputasyonla doldur; öngördürücüler olarakyear,latitude,sea_surface_tempveair_tempkullan ve sonucu tekrartao_imp’e ata.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Initialize missing values with hot-deck
tao_imp <- ___(tao)
# Create boolean masks for where air_temp and humidity are missing
missing_air_temp <- tao_imp$air_temp_imp
missing_humidity <- ___
for (i in 1:5) {
# Set air_temp to NA in places where it was originally missing and re-impute it
tao_imp$air_temp[missing_air_temp] <- NA
tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
# Set humidity to NA in places where it was originally missing and re-impute it
tao_imp$humidity[___] <- ___
tao_imp <- ___(___, ___ ~ year + latitude + sea_surface_temp + ___)
}