楼主: zhaomn200145
1824 2

[问答] 请教一个关于邻接矩阵做图的问题 [推广有奖]

  • 1关注
  • 17粉丝

贵宾

学科带头人

66%

还不是VIP/贵宾

-

威望
1
论坛币
581937 个
通用积分
85.2583
学术水平
128 点
热心指数
80 点
信用等级
43 点
经验
61378 点
帖子
1454
精华
1
在线时间
2544 小时
注册时间
2005-9-27
最后登录
2024-5-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
假定有一个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语言的小白,还请各位大神多多指教。
二维码

扫码加我 拉你入群

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

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

关键词:邻接矩阵 Library BRARY GRAPH Nodes

沙发
llb_321 在职认证  发表于 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)
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 10 热心帮助其他会员
Sunknownay + 3 + 3 + 3 热心帮助其他会员
zhaomn200145 + 5 + 5 + 1 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 8  热心指数 + 8  信用等级 + 4   查看全部评分

使用道具

藤椅
zhaomn200145 发表于 2022-5-8 21:48:21 |只看作者 |坛友微信交流群
谢谢大神!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-26 16:32