Bắt đầu ngayBắt đầu miễn phí

Khởi tạo giá trị thiếu & lặp qua các biến

Như bạn vừa thấy, chạy impute_lm() có thể không điền hết tất cả giá trị thiếu. Để đảm bảo bạn bù toàn bộ, trước hết hãy khởi tạo các giá trị thiếu bằng một phương pháp đơn giản, chẳng hạn hot-deck imputation mà bạn đã học ở chương trước, phương pháp này đơn giản là lan truyền giá trị quan sát gần nhất về phía trước.

Hơn nữa, một lần bù đơn lẻ thường không đủ. Nó dựa trên các giá trị khởi tạo cơ bản và có thể bị thiên lệch. Cách tiếp cận đúng là lặp qua các biến, bù từng biến một tại đúng các vị trí mà ban đầu chúng bị thiếu.

Trong bài tập này, trước tiên bạn sẽ khởi tạo các giá trị thiếu bằng hot-deck imputation, sau đó lặp năm lần qua air_temphumidity từ dữ liệu tao để bù chúng bằng hồi quy tuyến tính. Bắt đầu thôi!

Bài tập này là một phần của khóa học

Xử lý dữ liệu khuyết bằng Imputation trong R

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo các giá trị thiếu bằng phép bù hotdeck().
  • Tạo một mặt nạ boolean cho các vị trí humidity ban đầu bị thiếu và gán vào missing_humidity.
  • Bên trong vòng lặp for, đặt humidity trong tao_imp thành NA tại các vị trí ban đầu bị thiếu bằng mặt nạ boolean bạn đã tạo.
  • Bên trong vòng lặp for, bù humidity trong tao_imp bằng hồi quy tuyến tính, sử dụng year, latitude, sea_surface_tempair_temp làm biến dự báo và gán lại kết quả vào tao_imp.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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 + ___)
}
Chỉnh sửa và Chạy Mã