Domanda

Voglio disegnare un appezzamento di correlazioni.

features = features[,-2]
features<- scale(features[2:ncol(features)],center=TRUE,scale=TRUE);
correlationmatrix <- cor(features)
corrplot(correlationmatrix, order = "hclust")
.

Fino alla terza riga, tutto funziona bene.Quando esegui corrplot(), sto ottenendo:

.

Errore in if (min (corr) <-1 - .machine $ double.eps || max (corr)> 1 + .machine $ double.eps) {: valore mancante dove è vero / falso necessario

È stato utile?

Soluzione

Sta accadendo molto probabilmente perché stai cercando di tracciare una matrice di correlazione con valori mancanti (NA) .

Purtroppo il corrplot non si occupa di quelli correttamente ...

Potresti tracciare i valori con qualche altra tecnica.

Invece, ho tuttavia trovato un semplice trucco attorno a questo.Non ti consiglierei di usarlo, per i miei dati, ha funzionato bene.Perderai anche la possibilità di mostrare i test significativi usando il corrplot.

M=cor(values,use="pairwise.complete.obs")
p = M
p[is.na(M)]=0.2 
p[is.na(M)==F]=0
M[is.na(M)]=0
corrplot(M, method="circle", is.corr=T, p.mat=p, sig.level=0.1, order = "FPC")
.

Purtroppo non sono in grado di pubblicare l'immagine risultante come mi sono appena unito e non ne hai abbastanza di questa "reputazione di Stackoverflow".

Inserisci Descrizione dell'immagine qui

Spero che aiuti, tu o altra persona con lo stesso problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top