Saya menggunakan prcomp()fungsi untuk melakukan PCA (analisis komponen utama) di R. Namun, ada bug di fungsi itu sehingga na.actionparameter tidak berfungsi. Saya meminta bantuan pada stackoverflow ; dua pengguna di sana menawarkan dua cara berbeda dalam menangani NAnilai. Namun, masalah dengan kedua solusi tersebut adalah ketika ada NAnilai, baris itu dihapus dan tidak dipertimbangkan dalam analisis PCA. Kumpulan data nyata saya adalah matriks 100 x 100 dan saya tidak ingin kehilangan seluruh baris hanya karena mengandung NAnilai tunggal .
Contoh berikut menunjukkan bahwa prcomp()fungsi tidak mengembalikan komponen utama untuk baris 5 karena mengandung NAnilai.
d <- data.frame(V1 = sample(1:100, 10), V2 = sample(1:100, 10),
V3 = sample(1:100, 10))
result <- prcomp(d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x # $
d$V1[5] <- NA # $
result <- prcomp(~V1+V2, data=d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x
Saya bertanya-tanya apakah saya dapat mengatur NAnilai - nilai ke nilai numerik tertentu kapan centerdan scalediatur TRUEagar prcomp()fungsi berfungsi dan tidak menghapus baris yang berisi NA, tetapi juga tidak mempengaruhi hasil analisis PCA.
Saya berpikir untuk mengganti NAnilai dengan nilai median di satu kolom, atau dengan nilai yang sangat dekat dengan 0. Namun, saya tidak yakin bagaimana itu mempengaruhi analisis PCA.
Adakah yang bisa memikirkan cara yang baik untuk menyelesaikan masalah itu?
NAnilai - nilai itu : apa penyebab dari "ketiadaan"?