Question

Je veux dessiner un tracé de corrélations.

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

Jusqu'à la 3ème ligne, tout fonctionne bien.Lors de l'exécution corrplot(), Je reçois:

Erreur dans if (min(corr) < -1 - .Machine$double.eps || max(corr) > 1 + .Machine$double.eps) { :valeur manquante là où VRAI/FAUX est nécessaire

Était-ce utile?

La solution

Cela se produit probablement parce que vous essayez de tracer un matrice de corrélation avec valeurs manquantes (NA).

Malheureusement, corrplot ne les gère pas correctement...

Vous pouvez tracer les valeurs vous-même avec une autre technique.

Au lieu de cela, j'ai cependant trouvé un simple hack autour de cela.Je ne vous conseillerais pas de l'utiliser, pour mes données, cela a très bien fonctionné.Vous perdrez également la possibilité d'afficher les tests significatifs à l'aide de 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")

Malheureusement, je ne suis pas en mesure de publier l'image résultante car je viens de rejoindre et je n'ai pas assez de cette "réputation de stackoverflow".

enter image description here

J'espère que cela vous aidera, ou à toute autre personne ayant le même problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top