含多種變數型別的模型式插補
你在先前已經寫好了利用條件分配抽樣的羅吉斯迴歸插補函式,做得很棒!你已經把相當進階的統計觀念寫進程式碼裡了。這個練習中,你會把目前學到的模型式插補方法整合起來,用於 tao 資料中的不同變數型別。
你的工作是像上一章一樣遍歷變數,並插補兩個變數:
is_hot:由air_temp新建立的二元變數;若air_temp大於等於 26 度為 1,否則為 0;humidity:你已經很熟悉的連續變數。
你需要同時使用先前學過的線性迴歸函式,以及你自己撰寫的羅吉斯迴歸函式。開始動手吧!
本練習屬於課程
在 R 中以插補處理遺漏值
練習說明
- 在原本遺漏的位置把
is_hot設為NA。 - 使用「羅吉斯迴歸」以
sea_surface_temp作為唯一預測變數,並用你的函式impute_logreg()來插補is_hot。 - 在原本遺漏的位置把
humidity設為NA。 - 使用「線性迴歸」以
sea_surface_temp和air_temp作為預測變數,來插補humidity。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Initialize missing values with hot-deck
tao_imp <- hotdeck(tao)
# Create boolean masks for where is_hot and humidity are missing
missing_is_hot <- tao_imp$is_hot_imp
missing_humidity <- tao_imp$humidity_imp
for (i in 1:3) {
# Set is_hot to NA in places where it was originally missing and re-impute it
___ <- NA
tao_imp <- ___(tao_imp, ___ ~ ___)
# Set humidity to NA in places where it was originally missing and re-impute it
___ <- NA
tao_imp <- ___(tao_imp, ___ ~ sea_surface_temp + ___)
}