You need to enable JavaScript to run this app. 在R语言中将最近邻列表转换为二元邻接矩阵的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中将最近邻列表转换为二元邻接矩阵的实现方法

3近邻列表转24×24二元邻接矩阵(R语言实现)

实现逻辑

  • 先创建维度为24×24的全0矩阵,行列索引对应1~24号站点
  • 逐行读取每个站点的3个近邻编号,将矩阵对应位置赋值为1
  • 可根据分析需求选择生成有向或无向邻接矩阵

实现代码(基础R无需额外依赖包)

# 初始化全0邻接矩阵,行名、列名对应站点编号
n_site <- 24
adj_matrix <- matrix(0, nrow = n_site, ncol = n_site, dimnames = list(1:n_site, 1:n_site))

# 遍历每个站点填充邻接关系
for (i in 1:n_site) {
  # 提取当前站点的3个近邻编号
  neighbors <- as.integer(near_neigh[i, c("nn.index.1", "nn.index.2", "nn.index.3")])
  # 生成有向邻接矩阵:仅当j是i的近邻时记为1,矩阵不对称
  adj_matrix[i, neighbors] <- 1
  # 若需要生成无向邻接矩阵(只要任意一方是另一方的近邻就记为相邻,矩阵对称),取消注释下面一行
  # adj_matrix[neighbors, i] <- 1
}

# 输出验证:查看矩阵维度
dim(adj_matrix)
# 输出验证:查看前6行前6列的矩阵内容
head(adj_matrix[,1:6])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 03:15:04