ฉันใช้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
คุณค่าหมายถึงอะไร : สาเหตุของการหายไปคืออะไร?