You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于R语言Tocher聚类结果创建有序矩阵数据的技术问询

基于R语言biotools包的Tocher聚类分析及矩阵构建

最近我用R语言的biotools包完成了17个品种的Tocher聚类分析,最终把这些品种划分成了6个聚类组。下面是具体的实现代码、聚类结果,以及后续基于结果构建矩阵的思路:

聚类分析代码

# 加载内置的大蒜距离数据集
data(garlicdist)
# 执行Tocher聚类
garlic <- tocher(garlicdist)
# 查看聚类结果
garlic

聚类结果输出

运行上述代码后,得到的Tocher聚类结果如下:

Tocher's Clustering
$cluster 1
[1] 8 9 12 4 10 2 7 15
$cluster 2
[1] 1 6 14
$cluster 3
[1] 11 13
$cluster 4
[1] 3 5
$cluster 5
[1] 16
$cluster 6
[1] 17

构建聚类归属矩阵

现在我们需要基于上述聚类结果创建矩阵数据,让17个品种按顺序排列(比如按品种编号升序),便于后续的可视化、统计分析等操作。这里提供一个简单的实现代码,构建一个记录每个品种所属聚类的矩阵:

# 提取聚类列表
cluster_list <- garlic
# 生成17个品种的编号向量
variety_ids <- 1:17
# 为每个品种匹配对应的聚类编号
cluster_ids <- sapply(variety_ids, function(id) {
  # 找到包含当前品种的聚类索引
  which(sapply(cluster_list, function(cluster) id %in% cluster))
})
# 构建矩阵,行名为品种编号,列名为聚类编号
cluster_matrix <- matrix(
  cluster_ids,
  ncol = 1,
  dimnames = list(variety_ids, "Cluster_Number")
)
# 查看最终矩阵
print(cluster_matrix)

运行这段代码后,你会得到一个17行1列的矩阵,每一行对应一个品种,值为该品种所属的聚类组编号,完全满足品种按序排列的需求。

内容的提问来源于stack exchange,提问作者Rokib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:26:51