Macchina corrplota $ doppio.eps valore mancante
-
20-12-2019 - |
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
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".
Spero che aiuti, tu o altra persona con lo stesso problema.