2016-11-22 2 views
0

Я использую кластер HOPACH - есть ли способ визуализировать только самые крупные кластеры (например, только 3 крупнейших)? Текущий код визуализирует все кластеры.Clustering-Plotting крупнейших n кластеров

library(cluster) 
library(hopach) 

distance =distancematrix(DNA[1:30],"cosangle") 
hobpach.DNA =hopach(DNA[1:30],dmat=distance) 

labels = c(hobpach.DNA$clustering$labels) 

table(labels, DNA$class) 

#Plots all clusters 

clusplot(DNA[1:30], hobpach.DNA$clustering$labels, main='Cluster Vis', 
    color=TRUE, shade=TRUE, 
    labels=2, lines=0) 

ответ

0

В clusplot ничего подобного нет. Но вы можете легко узнать, какие кластеры самые большие, а затем только дать их функции clusplot.

# find the indicees of the largest clusters 
biggest_indicees <- labels %in% names(sort(table(labels), decreasing = TRUE)[1:3]) 

# plot three largest clusters 
clusplot(df[biggest_indicees, ], labels[biggest_indicees], main = 'Cluster Vis', 
     color = TRUE, shade = TRUE, labels = 2, lines = 0) 
+0

У меня небольшая проблема ... Ошибка в ДФ [biggest_indicees,]: объект типа «закрытия» не subsettable –

+0

ли вы определить ярлыки, как вы упоминаете в коде выше? Там у вас есть 'labels = c (hobpach.DNA $ кластеризация $ меток)'. – shadow

+0

Да, точно ... Я искал эту проблему онлайн, но не повезло. –