通过绘制树状图,我需要使用完全链接来直观地表示层次聚类。
我的data.frame是从欧统局数据库(CP00 - HICP)获得的,经过一些清理后,如下所示:
(头(CP00))
structure(list(id = c("CP00", "CP00", "CP00", "CP00", "CP00",
"CP00"), country = c("Austria", "Austria", "Austria", "Austria",
"Austria", "Austria"), time = structure(c(10988, 11017, 11048,
11078, 11109, 11139), class = "Date"), values = c(1.9, 1.9, 1.8,
1.6, 2.4, 1.9)), row.names = c(NA, -6L), class = c("tbl_df",
"tbl", "data.frame"))有7344个观察。
首先,我使用完全链接计算了层次聚类,然后用完全链接计算了不同的矩阵:
# Dissimilarity matrix
CP00_clst <- dist(CP00, method = "minkowski", p = 1.5)
# Hierarchical clustering using Complete Linkage
CP00_clst <- hclust(CP00_clst, method = "complete")最后,简单地用标题作图:
# Plot the obtained dendrogram
plot(CP00_clst, main = "Clusterin Countries based on HICP")然而,结果就是我所需要的,比如一个清晰的树状图。此外,我还需要将树状图划分为4个簇。
这是我的结果:
这是我需要的结果:
我对R还不熟悉,而且可能在不同的矩阵中有什么不对。谢谢你的帮助!
发布于 2022-12-04 22:00:38
你想把7344个实体绘制成树状图还是只绘制几个国家?
如果有几个国家:对于dist函数,您有一个长格式的CP00 (每个对象有一个值),但是,dist函数需要一个宽格式(每行有一个对象,多个属性作为列;参见https://www.statology.org/long-vs-wide-data/)。
这些矩形可以通过rect.hclust函数简单地从stats包中添加:https://rdrr.io/r/stats/rect.hclust.html
https://stackoverflow.com/questions/74675701
复制相似问题