[英]How to create a hierarchical cluster using categorical and numerical data is R?
我想創建一個層次結構集群,以顯示職業類型以及從事這些職業的人在銀行帳戶中的余額。 我是一個具有兩個變量的數據集,即工作和平衡:
job balance
1 unemployed 1787
2 services 4789
3 management 1350
4 management 1476
5 blue-collar 0
6 management 747
7 self-employed 307
8 technician 147
9 entrepreneur 221
10 services -88
我希望結果看起來像這樣:
其中A,B,C等是職位類別。
誰能幫我開始這個工作或給我一些幫助?
我不知道如何開始。
謝謝!
您可以使用dist
和hclust
函數開始。
df <- read.table(text = " job balance
1 unemployed 1787
2 services 4789
3 management 1350
4 management 1476
5 blue-collar 0
6 management 747
7 self-employed 307
8 technician 147
9 entrepreneur 221
10 services -88")
dist
計算每個元素之間的距離(默認情況下為歐幾里得距離):
distances <- dist(df$balance)
然后,您可以使用上面生成的距離矩陣對值進行聚類:
clusters <- hclust(distances)
默認情況下,hclust將完全鏈接群集應用於您的數據。 最后,您可以將結果繪制成一棵樹:
plot(clusters, labels = df$job)
在這里,我們將您數據框中的所有條目聚集在一起,這就是為什么某些作業重復的原因。 如果您希望每個作業只有一個值,則可以使用tapply
獲取每個作業的平均余額:
means <- tapply(df$balance, df$job, mean)
然后將作業聚類:
distances <- dist(means)
clusters <- hclust(distances)
plot(clusters)
然后,您可以嘗試使用其他距離度量或其他聚類算法(有關其他方法,請參見help(dist)
和help(hclust)
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.