1. Learn
  2. /
  3. Courses
  4. /
  5. Xử lý dữ liệu khuyết bằng Imputation trong R

Connected

Exercise

Phát hiện hội tụ

Bạn đã lặp qua các biến rất tốt ở bài trước! Nhưng cần bao nhiêu vòng lặp? Khi các giá trị bù không còn thay đổi ở vòng lặp mới, bạn có thể dừng lại.

Giờ bạn sẽ mở rộng mã để tính độ khác biệt giữa các biến đã bù ở các vòng lặp liên tiếp. Để làm điều này, bạn sẽ dùng hàm Mean Absolute Percentage Change, đã được định nghĩa sẵn như sau:

mapc <- function(a, b) {
  mean(abs(b - a) / a, na.rm = TRUE)
}

mapc() trả về một số duy nhất cho biết b khác a bao nhiêu. Bạn sẽ dùng nó để kiểm tra mức độ thay đổi của các biến đã bù qua các vòng lặp. Dựa trên đó, bạn sẽ quyết định cần bao nhiêu vòng lặp!

Các mặt nạ boolean missing_air_temp và missing_humidity đã có sẵn cho bạn, cũng như tao_imp được khởi tạo bằng hotdeck.

Instructions 1/3

undefined XP
    1
    2
    3
  • Tạo hai vector rỗng tên diff_air_temp và diff_humidity để lưu độ khác biệt của các biến tương ứng.
  • Gán kết quả của vòng lặp (hoặc khởi tạo) trước đó tao_imp vào biến prev_iter.