2014-02-24 32 views
2

我想繪製一個相關圖。

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

直到第三行,一切工作正常。當運行corrplot,我有:

Error in if (min(corr) < -1 - .Machine$double.eps || max(corr) > 1 + .Machine$double.eps) { : 
    missing value where TRUE/FALSE needed 
+1

請給出您的數據的一個樣本,使[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – tonytonov

回答

8

發生這種情況很可能是因爲你想要繪製缺失值(NA)一個相關矩陣。

可惜corrplot不對付那些正確...

你可以自己與其他一些技術繪製值。

然而,我卻發現了一個簡單的黑客攻擊。我不會建議你使用它,因爲我的數據,它工作得很好。你也將失去使用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") 

可惜我無法發佈所產生的圖像,因爲我剛剛加入,並沒有足夠的這個「計算器信譽」。

enter image description here

希望它可以幫助你或其他人有同樣的問題。