ฉันใช้prcomp()ฟังก์ชั่นเพื่อทำการ PCA (การวิเคราะห์องค์ประกอบหลัก) ใน R อย่างไรก็ตามมีข้อผิดพลาดในฟังก์ชั่นดังกล่าวว่าna.actionพารามิเตอร์ไม่ทำงาน ผมขอความช่วยเหลือใน StackOverflow ; สองผู้ใช้มีการเสนอสองวิธีที่แตกต่างกันในการจัดการกับNAค่า อย่างไรก็ตามปัญหาของทั้งสองวิธีคือเมื่อมีNAค่าแถวนั้นจะถูกดร็อปและไม่ถูกพิจารณาในการวิเคราะห์ PCA ชุดข้อมูลจริงของฉันคือเมทริกซ์ 100 x 100 และฉันไม่ต้องการเสียทั้งแถวเพียงเพราะมันมีNAค่าเดียว
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าprcomp()ฟังก์ชั่นไม่ได้คืนองค์ประกอบหลักใด ๆ สำหรับแถว 5 เนื่องจากมันมีNAค่า
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
ฉันสงสัยว่าฉันสามารถตั้งNAค่าเป็นค่าตัวเลขที่เฉพาะเจาะจงเมื่อcenterและscaleถูกตั้งค่าเพื่อTRUEให้prcomp()ฟังก์ชันทำงานและไม่ลบแถวที่มีNAแต่จะไม่มีผลต่อผลลัพธ์ของการวิเคราะห์ PCA
ฉันคิดเกี่ยวกับการแทนที่NAค่าด้วยค่ามัธยฐานในคอลัมน์เดียวหรือด้วยค่าที่ใกล้เคียงกับ 0 มากที่สุด แต่ฉันไม่แน่ใจว่าสิ่งนั้นมีอิทธิพลต่อการวิเคราะห์ PCA อย่างไร
ใครสามารถคิดวิธีที่ดีในการแก้ปัญหานั้นได้บ้าง
NAคุณค่าหมายถึงอะไร : สาเหตุของการหายไปคืออะไร?