Ich war überrascht, herauszufinden, dass clara
von library(cluster)
ermöglicht NAs. Die Funktionsdokumentation sagt jedoch nichts darüber aus, wie sie mit diesen Werten umgeht.Clustering mit NA-Werten in R
Also meine Fragen sind:
- Wie
clara
NAs behandelt? - Kann dies irgendwie für
kmeans
(Nas nicht erlaubt) verwendet werden?
[Update] So habe ich gefunden Codezeilen in clara
Funktion:
inax <- is.na(x)
valmisdat <- 1.1 * max(abs(range(x, na.rm = TRUE)))
x[inax] <- valmisdat
den Wertersatz von valmisdat
Sie fehlt. Ich bin mir nicht sicher, ob ich den Grund verstehe, eine solche Formel zu verwenden. Irgendwelche Ideen? Wäre es "natürlicher", die NA für jede Spalte separat zu behandeln, vielleicht mit Mittelwert/Median?
Gleiche Codezeilen, um fehlende Werte in 'daisy' wie in' clara' Funktion zu behandeln (siehe mein Frage-Update). –
@ danas.zuokas Ich bin mir nicht sicher, wie hilfreich es ist, willkürliche Codezeilen aus den Quellen zu ziehen, von denen Sie denken, dass sie mit der Frage zusammenhängen. Sie müssen sowohl den R-Code als auch den C-Code studieren. "valmisdat" ist der Wert, der verwendet wird, um fehlende Daten ("NA") im C-Code anzuzeigen, anstatt direkt "NA" zu verwenden. Wenn Sie sich den C-Code anschauen, werden Sie sehen, dass er Vergleiche ignoriert, bei denen eine Variable einen fehlenden Wert für das eine oder das andere oder für beide Stichproben hat, für die die Unähnlichkeit berechnet wird. Siehe die aktualisierte Antwort für den Zeiger auf den Code. –
Danke dir, Gavin! –