2017-04-12 4 views
2

Ich möchte die Daten aus einer CSV-Datei lesen, als Matrix speichern und zur Visualisierung verwenden.Länge von 'dimnames' [2] ungleich Arrayumfang bei Verwendung der corrplot-Funktion aus einer Matrix aus einer CSV-Datei lesen

data<-read.table("Desktop/Decision_Tree/cor_test_.csv",header = F,sep = ",") 

data 
V1 V2 V3 V4 V5  V6 
1 1.00 0.00 0.00 0.00 0.00 0 
2 0.11 1.00 0.00 0.00 0.00 0 
3 0.12 0.03 1.00 0.00 0.00 0 
4 -0.04 0.54 0.32 1.00 0.00 0 
5 -0.12 0.57 -0.09 0.26 1.00 0 
6 0.21 -0.04 0.24 0.18 -0.21 1 

Es geht gut. Aber dann:

corrplot(data, method = 'color', addCoef.col="grey") 

Es wird gesagt, dass:

Fehler in Matrix (fehlenden oder (Wert, rekursive = FALSE, use.names = FALSE), nRow = NR: Länge von ‚dimnames "[2] nicht gleich Array Ausmaß

ich weiß nicht, wie es zu lösen.

Antwort

6

corrplot erfordert eine Matrix, gehe ich davon aus Ihren Daten ein Datenrahmen ist. Verwenden sie as.matrix(data) stattdessen.

Beispiel:

## Your data as data frame: 
data <- structure(list(V1 = c(1, 0.11, 0.12, -0.04, -0.12, 0.21), V2 = c(0, 
        1, 0.03, 0.54, 0.57, -0.04), V3 = c(0, 0, 1, 0.32, -0.09, 0.24 
       ), V4 = c(0, 0, 0, 1, 0.26, 0.18), V5 = c(0, 0, 0, 0, 1, -0.21 
       ), V6 = c(0, 0, 0, 0, 0, 1)), .Names = c("V1", "V2", "V3", "V4", 
       "V5", "V6"), row.names = c(NA, -6L), class = "data.frame") 

## Using the data frame results in an error: 
corrplot::corrplot(data, method = 'color', addCoef.col = "grey") 
# Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, : 
# length of 'dimnames' [2] not equal to array extent 

## Using the matrix works: 
corrplot::corrplot(as.matrix(data), method = 'color', addCoef.col = "grey") 

corrplot

+0

reeeeeally für die Lösung zu schätzen wissen. Es funktioniert perfekt. Vielen Dank. –

Verwandte Themen