Principal Components Analysis:Fehler in colMeans(x, na.rm = TRUE) : 'x' muss numerisch sein
Ich versuche zum ausführen einer Hauptkomponentenanalyse, aber ich bin immer der Fehler: Fehler in colMeans(x, na.rm = TRUE) : 'x' muss numerisch sein
Ich weiß, alle Spalten müssen numerisch sein, aber zu behandeln, wie wenn Sie Charakter haben Objekte, die im Datensatz? E. g:
data(birth.death.rates.1966)
data2 <- birth.death.rates.1966
princ <- prcomp(data2)
- data2 Beispiel für Daten, unten:
Sollte ich eine neue Spalte hinzufügen, bezogen auf die Land-Namen in einen numerischen code? Wenn ja, wie geht das in R?
InformationsquelleAutor Rubens Rodrigues | 2017-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie konvertieren ein Charakter-Vektor, um numerische Werte, indem Sie den Umweg über
factor
. Dann jeden eindeutigen Wert bekommt eine eindeutige integer-code. In diesem Beispiel gibt es vier Werte, also die zahlen 1 bis 4, in alphabetischer Reihenfolge, denke ich:Können Sie dann ausführen
prcomp
:Ob diese sinnvoll für Ihre Anwendung ist bis zu Ihnen. Vielleicht möchten Sie einfach fallen die erste Spalte:
prcomp(d[,-1])
und die Arbeit mit den numerischen Daten, die das zu sein scheint was die anderen "Antworten" zu erreichen versuchen.InformationsquelleAutor Spacedman
Die erste Spalte der Daten-frame ist Charakter. So können Sie recode es, um Zeile Namen wie :
Alternativ :
Richtig gesagt @JorisMeys, tidyverse ist mehr geeignet für komplexe Daten
und das beantwortet nicht die Frage der Umwandlung von Zeichen in zahlen.
PCA wird offensichtlich durchgeführt werden, die numerischen Daten Punkte, daher Umwandlung von Zeichen in zahlen.
InformationsquelleAutor parth