2017-02-20 2 views
0

Ich möchte die Korrelation zwischen jeder Spalte innerhalb einer Matrix berechnen. Aber es einen Fehler aus: „Fehler in cor (Probe, use = "pairwise.complete.obs"): 'x' muss numerisch sein Traceback:'x' muss numerisch sein Rückverfolgung: für die Berechnung der Korrelation für eine Matrix

  1. cor(sample, use = "pairwise.complete.obs")
  2. stop("'x' must be numeric")"

Diese ist das, was ich getan habe:

data = read.csv("mail.csv", header=F) 

sample = data[-(1),-(1)] 

cor(sample, use="pairwise.complete.obs") 

Meine Datensatz wie folgt aussieht: ich würde schätzen, wenn mir jemand sagen könnte, wo ich falsch gemacht haben enter image description here?

+1

Blick auf str (Daten) könnte Ihnen einen Hinweis geben. – thisisrg

Antwort

0

Run

str (Daten) an Ihren Datentypen der Spalt aussieht - Beispiel: numerisch, Faktor, integer. Sehen Sie, welche Spalte nicht numerisch sein sollte, und dann ... Ich bin nicht sehr gut in Bezug auf Spalten in einer Matrix, also setzen Sie es in einen Datenrahmen. Benennen Sie Ihre Spalte um und nehmen Sie sie zurück in eine Matrix.

data = as.data.frame(data) 

data$column = as.numeric(data$column) 
where "column" represents your issue column. 

data = as.matrix(data) 

Jetzt können Sie Ihren Code erneut ausführen.

Verwandte Themen