全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2081 2
2022-05-05
假定有一个50*50的邻接矩阵:
library(statnet)
library(igraph)
set.seed(12345)
num_nodes <- 50   
z <- round(runif(num_nodes^2))
x1 <- matrix(z, num_nodes, num_nodes)
diag(x1) <- 0   
cnames <- c(1: num_nodes)
g <- graph.adjacency(x1,mode="undirected")
plot(g,vertex.label=cnames)

这样就已经可以做出对应的网络图了。
现在从这个邻接矩阵中找到一组顶点,相互之间存在联系,如4  9 11 14 17 34 35 36 47 49这样一组10个顶点,如何做出这一组顶点对应的网络图呢?R语言的小白,还请各位大神多多指教。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-5-7 06:15:41
两种方法:
1、对邻接矩阵,取所需ID对应的列和行,作为子矩阵,用子矩阵重新作图。
例如:
m<-matrix(1:49,7)
n<-c(1,3,6)
newAdj <- m[n, n]
2、用完整的邻接矩阵作图,但以特殊颜色突出显示所需的node和edge。
在igraph中可以用这两个函数实现。
set_edge_attr(graph, name, index = E(graph), value)
set_vertex_attr(graph, name, index = V(graph), value)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2022-5-8 21:48:21
谢谢大神!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群