Ich habe die prcomp()Funktion verwendet, um eine PCA (Principal Component Analysis) in R durchzuführen. Es gibt jedoch einen Fehler in dieser Funktion, sodass der na.actionParameter nicht funktioniert. Ich bat um Hilfe beim Stackoverflow . dort boten zwei benutzer zwei verschiedene möglichkeiten, mit NAwerten umzugehen . Das Problem bei beiden Lösungen ist jedoch NA, dass diese Zeile gelöscht wird, wenn ein Wert vorhanden ist, und in der PCA-Analyse nicht berücksichtigt wird. Mein realer Datensatz ist eine Matrix von 100 x 100 und ich möchte keine ganze Zeile verlieren, nur weil sie einen einzelnen NAWert enthält .
Das folgende Beispiel zeigt, dass die prcomp()Funktion keine Hauptkomponenten für Zeile 5 zurückgibt, da sie einen NAWert enthält .
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
Ich habe mich gefragt, ob ich die NAWerte auf einen bestimmten numerischen Wert setzen kann, wenn centerund scaleso eingestellt sind, TRUEdass die prcomp()Funktion funktioniert und keine Zeilen entfernt, NAdie s enthalten, aber auch keinen Einfluss auf das Ergebnis der PCA-Analyse hat.
Ich habe darüber nachgedacht, NAWerte durch den Medianwert in einer einzelnen Spalte oder durch einen Wert nahe 0 zu ersetzen. Ich bin mir jedoch nicht sicher, wie sich dies auf die PCA-Analyse auswirkt.
Kann sich jemand eine gute Lösung für dieses Problem vorstellen?
NAWerte bedeuten : Was ist die Ursache für das "Fehlen"?