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.action
Parameter nicht funktioniert. Ich bat um Hilfe beim Stackoverflow . dort boten zwei benutzer zwei verschiedene möglichkeiten, mit NA
werten 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 NA
Wert enthält .
Das folgende Beispiel zeigt, dass die prcomp()
Funktion keine Hauptkomponenten für Zeile 5 zurückgibt, da sie einen NA
Wert 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 NA
Werte auf einen bestimmten numerischen Wert setzen kann, wenn center
und scale
so eingestellt sind, TRUE
dass die prcomp()
Funktion funktioniert und keine Zeilen entfernt, NA
die s enthalten, aber auch keinen Einfluss auf das Ergebnis der PCA-Analyse hat.
Ich habe darüber nachgedacht, NA
Werte 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?
NA
Werte bedeuten : Was ist die Ursache für das "Fehlen"?