R ausführen Korrelation, ignorieren, nicht-numerische Daten
Ich versuche zu laufen, eine Korrelation zwischen allen numberic Werte (die dataset-Spalten enthält sowohl numerische und nicht-numerische Werte) mit dem folgenden code:
mydata= read.csv("C:\\full_path\\playerData.csv", header = TRUE)
mydata=data.frame(mydata)
vals=cor(mydata, use="complete.obs", method="pearson")
write.csv(vals,"C:\\Users\\weiler\\Desktop\\RStudioOutput.csv")
basierend auf dieser site: http://www.statmethods.net/stats/correlations.html ich bin immer der Fehler:
Fehler in cor(mydata, use = "complete.obs", method = "pearson") : 'x' muss numerisch sein
Mein Fehler scheint zu sein, weil einige der Daten, die nicht numerisch ist. Gibt es eine einfache Möglichkeit zu ignorieren, die nicht-numerische Daten?
Wahrscheinlich nur
mydata[sapply(mydata, is.numeric)]
InformationsquelleAutor Rilcon42 | 2015-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als David Arenburg gesagt, das Sie verwenden können, ist.numerische und dann Teilmenge. Hier ist eine Erklärung.
Welche Spalten numerisch sind?
So, verwenden Sie diese boolean-Vektor Teilmenge und Sie bekommen nur die numerischen Spalten
nun kann man cor()
Und zeigen es als ein one-liner:
InformationsquelleAutor arvi1000