2016-05-06 4 views
-3

Ich habe eine Matrix von 48 Variablen mit jeweils 40 Beobachtungen. Ich versuche, die ersten 47 Spalten getrennt mit der 48. Spalte zu korrelieren. was ich habe versucht, ist Befehl Verwendung cor zu tun:Korrelation mehrerer Spalten in einer Matrix zu einer einzigen Spalte in der gleichen Matrix

cor(x[,1:47], x[,48], method="kendall"). 

Ich erhalte eine Fehlermeldung:

Error in cor.test.default(Hj1[, 1:47], Hj1[48], method = "kendall") : 
    'x' and 'y' must have the same length 

Da jede Spalte die gleiche Länge ist, verstehe ich, es geht nicht um die Säulenlängen, aber etwas anderes. Was kann es sein?

Danke! David.

+0

Machen Sie ein reproduzierbares Beispiel. Es wird Ihnen helfen, Ihr Problem besser zu verstehen. –

Antwort

2

Schauen Sie sich Ihre Fehlermeldung:

Error in cor.test.default(Hj1[, 1:47], Hj1[48], method = "kendall") : 
    'x' and 'y' must have the same length 

Hj1[48].

Das war ein Tippfehler. Sie wollten Hj1[,48]

Wenn Sie sich die Zeit genommen hätten, ein reproduzierbares Beispiel zu erstellen, hätten Sie das selbst herausgefunden.

+0

Ich habe ...> KendallHj1 <- cor.test (Hj1 [, 1: 47], Hj1 [, 48], Methode = "Kendall") Fehler in cor.test.default (Hj1 [, 1:47] , Hj1 [, 48], method = "kendall"): 'x' und 'y' müssen die gleiche Länge haben –

+0

@DavidM ein reproduzierbares Beispiel machen –

+0

Hi. um sicherzustellen, dass es kein Problem mit meinen Daten ist, habe ich den mtcars-Datensatz in Rstudio verwendet. Ich habe versucht, den gleichen Code zu verwenden, mit den gleichen Ergebnissen. > Kendallmtcars <- cor.test (mtcars [, 1: 3], mtcars [, 4], method = "kendall") Fehler in cor.test.default (mtcars [, 1: 3], mtcars [, 4] , method = "kendall"): 'x' und 'y' müssen die gleiche Länge haben Ich schätze, es ist, weil es Spalten nicht nacheinander abfragt? –

0

Ok, ich habe die Spalte von der Matrix getrennt und die Korrelation erfolgreich ausgeführt. In meinem ursprünglichen Code sieht es wie folgt aus:

Hj1tox < - HJ1 [48]

Hj1_ab < - HJ1 [1: 47]

cor (Hj1_ab, Hj1tox)

Senor O - danke für deine Kommentare! David.