Menangani Missing Value Data Numerik dengan Nilai Mean pada R

Share:
Masih seperti sebelumnya, kali ini saya akan berbagi cara menangani missing value pada dataset di RStudio. Bila nilai yang kosong hanya berjumlah sedikit pada dataset yang sedang dikerjakan, mungkin mudah saja bila kita langsung membuangnya. Namun apa yang terjadi bila :
  • Jumlah missing value berjumlah ratusan hingga jutaan?
  • Bagaimana bila record yang memiliki missing value tersebut sesungguhnyalah yang berpengaruh pada dataset tersebut?
Tentunya dengan langsung membuang record ber-missing value tersebut bukanlah keputusan yang tepat. Untuk menangani missing value pada data nominal, kita bisa menggunakan modus. Sedangkan untuk data numerik, kita bisa menggunkan nilai rata-rata (mean).

Gambar 1. Hasil Penanganan Missing Value dengan Menggunakan Nilai Mean

Dataset yang digunakan pada latihan ini adalah dataset Internet Advertisements Data Set dari UCI Machine Learning Repository, http://archive.ics.uci.edu/ml/datasets/Internet+Advertisements



# 2.1 Praprocessing (Replace Missing Values)
ad <- read.csv(file="D:/ad.data.missing.csv", header=TRUE, sep=",", dec=".")
# Change ? values with NA
ad[ad == "?"] <- NA
# Function to change NA with Mean value
for(i in 1:ncol(ad)){
ad[is.na(ad[,i]), i] <- mean(ad[,i], na.rm = T TRUE)
}
# Export result as CSV
write.csv(ad, file = "D:\\ internet.csv", row.names = FALSE)

Gambar 2. Hasil eksekusi program pada console R.

Pesan “warning” tersebut diatas muncul, hal ini terjadi karena fungsi Mean hanya akan bekerja pada data numerik, sedangkan yang tidak termasuk numerik akan diabaikan. Adapun hasil eksekusi program dalam menangani missing value pada dataset dalam latihan ini dapat dilihat pada awal artikel di atas (Gambar 1).

Untuk video demonya, bila ada waktu akan saya cantumkan link YouTube-nya disini.

No comments