繁体   English   中英

R - 从矩阵创建网络

[英]R - Create a network from a matrix

我有一个类似的数据集:

Abruzzo<- c(1,0.76,0.8,0.90)
Campania<- c(0.76,1,0.62,0.69)
Calabria <- c(0.80,0.62,1,0.85)
Puglia <- c(0.90,0.69,0.85,1)
X <-data.frame(Abruzzo,Campania,Calabria,Puglia)
row.names(X)<- c ('Abruzzo','Campania', 'Calabria', 'Puglia')

该矩阵包含余弦相似度值。 我想创建一个网络(带有 igraph),其中 4 个节点(Abruzzo、Campania、Calabria、Puglia)都是互连的,并且链接的大小取决于矩阵的相应值。 谢谢

你有一个加权邻接矩阵。 使用igraph::graph_from_adjacency_matrix

library(igraph)
X <- as.matrix(X)
diag(X) <- 0
g <- graph_from_adjacency_matrix(X, mode = "lower", weighted = "weight")
plot(g, edge.width = E(g)$weight, edge.label = E(g)$weight)

在此处输入图像描述

如果您想要有向图,请将模式更改为"directed"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM