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

如何在R语言中从Minimum Spanning Trees模型查找各数据点的连接实例?

获取最小生成树(MST)中每个数据点的连接实例

ape::mst()返回的是一个邻接矩阵——矩阵中mst.mod[i,j] = 1代表实例i和实例j在MST中相连,0则无连接。基于这个矩阵,你可以批量提取所有数据点的连接对象:

核心代码

# 加载数据并构建MST(复用你的代码)
data(iris)
mst.mod <- ape::mst(dist(iris))

# 提取每个实例的连接对象
connections <- lapply(1:nrow(mst.mod), function(i) {
  # 找出当前行中值为1的列索引,即相连的实例编号
  which(mst.mod[i, ] == 1)
})

# 给列表元素命名,对应实例编号
names(connections) <- 1:nrow(mst.mod)

查看结果

比如你提到的实例1,直接调用即可查看它的连接:

connections[["1"]]
# 输出应为 [1] 28 40

转为易读的数据框格式(可选)

如果需要结构化的表格输出,可以把结果转为数据框:

connections_df <- do.call(rbind, lapply(names(connections), function(id) {
  data.frame(
    实例编号 = id,
    连接实例 = connections[[id]]
  )
}))

# 查看前5行示例
head(connections_df, 5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:35:00