2017-01-12 65 views
0

我使用kMeans然後clusplot函數來繪製數據,但是我想使用自定義點形狀或根本沒有任何點形狀。在clusplot中使用pch參數會產生錯誤(形式參數「pch」由多個實際參數匹配)。R clusplot點形狀

例如,通過自定義矢量下面的圖形變化都指向形狀:

library(cluster) 
d <- dist(scale(mtcars), method="euclidean") 
k <- kmeans(d, 2) 
clusplot(d, diss=T, k$cluster, labels=2, col.txt=c("blue", "red")[k$cluster]) 
+0

你可以創建一個可重現的例子嗎?是的,創建一個數據集,對它進行聚類,然後繪製它,對我們來說太麻煩了。我們寧願剪切並粘貼您的問題中的一些代碼。 – Spacedman

+0

「或根本沒有點形狀」你的意思是隻繪製沒有點的橢圓?或者你想要所有的點具有相同的形狀? – G5W

+0

所有點相同的形狀就足夠了,但自定義形狀會更好。 –

回答

1

你可以得到點的位置與cmdscale,然後或者先繪製出來,並通過cex=0做隱形點集羣情節和add=TRUE或做首先使用clusplot並使用points以您想要的任何樣式添加點。積分第一:

> plot(cmdscale(d),pch=19) 
> clusplot(d, diss=TRUE, k$cluster, labels=2, col.txt=c("blue", "red")[k$cluster],cex=0,add=TRUE) 

簇第一,然後交替符號點只是爲了說明:

> clusplot(d, diss=TRUE, k$cluster, labels=2, col.txt=c("blue", "red")[k$cluster],cex=0) 
> points(cmdscale(d),pch=1:2) 

你可能也想用xlim=c(-5,5)在完全搞定標籤