首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用完全链接绘制聚类层次聚类

用完全链接绘制聚类层次聚类
EN

Stack Overflow用户
提问于 2022-12-04 12:41:06
回答 1查看 17关注 0票数 0

通过绘制树状图,我需要使用完全链接来直观地表示层次聚类。

我的data.frame是从欧统局数据库(CP00 - HICP)获得的,经过一些清理后,如下所示:

(头(CP00))

代码语言:javascript
复制
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个观察。

首先,我使用完全链接计算了层次聚类,然后用完全链接计算了不同的矩阵:

代码语言:javascript
复制
# Dissimilarity matrix
CP00_clst <- dist(CP00, method = "minkowski", p = 1.5)

# Hierarchical clustering using Complete Linkage
CP00_clst <- hclust(CP00_clst, method = "complete")

最后,简单地用标题作图:

代码语言:javascript
复制
# Plot the obtained dendrogram
plot(CP00_clst, main = "Clusterin Countries based on HICP")

然而,结果就是我所需要的,比如一个清晰的树状图。此外,我还需要将树状图划分为4个簇。

这是我的结果:

我的结果

这是我需要的结果:

所需结果

我对R还不熟悉,而且可能在不同的矩阵中有什么不对。谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74675701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档