2016-12-03 5 views
1

Я новичок в R. У меня есть следующие таблицы:R Кластер с сгруппированных данных

22 1045 4 166.834 
23 1047 2 131.567 
26 1054 2 43.583 
28 1057 2 280.184 
34 1064 1 134.608 
44 1081 1 70.862 
47 1086 2 27.156 
50 1094 2 259.189 
51 1096 4 216.103 
56 1109 2 429.679 
59 1115 1 76.770 

В таблице уже сгруппированные по третьей колонке. То, что я делаю, - это построить матрицу, которая показывает, что есть 3 кластера, например (1,2-3,4). Есть ли простой способ сделать это?

Заранее спасибо

+0

Можете ли вы показать свой ожидаемый результат? –

+0

Я подумал о простой иерархической кластеризации: Дендрограмма, которая показывает, что 1, 2 и 3, 4 представляют собой разные кластеры –

ответ

0

Существует один способ, как и для меня, чтобы построить дендрограммы.
1.Build матрица расстояний:

d<-dist(yourmatrix[,4]) 
I suppose that your 4th column has values:166.834,131.567 and so on. 

2.Build кластеры:

hc<-hclust(d) 

3.finally, участок вашего дендрограммы:

plot(hc) 
0

Для данных

head(df) 
    x y cluster  z 
1 22 1045  4 166.834 
2 23 1047  2 131.567 
3 26 1054  2 43.583 
4 28 1057  2 280.184 
5 34 1064  1 134.608 
6 44 1081  1 70.862 

вы можете представить себе, как следующее:

library(scatterplot3d) 
scatterplot3d(df$x, df$y, df$z, color=df$cluster, pch=19, xlab='x', ylab='y', zlab = 'z') 
legend("topright", legend=1:4, pch=19, col=1:4, title='cluster') 

enter image description here

Смежные вопросы