Saya menggunakan prcomp()
fungsi untuk melakukan PCA (analisis komponen utama) di R. Namun, ada bug di fungsi itu sehingga na.action
parameter tidak berfungsi. Saya meminta bantuan pada stackoverflow ; dua pengguna di sana menawarkan dua cara berbeda dalam menangani NA
nilai. Namun, masalah dengan kedua solusi tersebut adalah ketika ada NA
nilai, 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 NA
nilai tunggal .
Contoh berikut menunjukkan bahwa prcomp()
fungsi tidak mengembalikan komponen utama untuk baris 5 karena mengandung NA
nilai.
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 NA
nilai - nilai ke nilai numerik tertentu kapan center
dan scale
diatur TRUE
agar prcomp()
fungsi berfungsi dan tidak menghapus baris yang berisi NA
, tetapi juga tidak mempengaruhi hasil analisis PCA.
Saya berpikir untuk mengganti NA
nilai 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?
NA
nilai - nilai itu : apa penyebab dari "ketiadaan"?