楼主: Husky_Zha
3048 2

[问答] 求助!R语言邻接矩阵画网络图 [推广有奖]

  • 0关注
  • 0粉丝

大专生

3%

还不是VIP/贵宾

-

威望
0
论坛币
2866 个
通用积分
0.4500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
266 点
帖子
22
精华
0
在线时间
35 小时
注册时间
2018-12-29
最后登录
2023-5-1

楼主
Husky_Zha 发表于 2020-8-20 17:17:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助大家,现在手边有一个48*48的邻接矩阵,想要用R来画网络图,要求节点的大小是每一列数据的和,箭头指的是个体与个体(个体在网络图中用节点来表示)的影响。请问在R中用什么代码可以实现呢?还有就是——请问有没有大神用过R语言中的graph from adjency函数呀,小弟有些问题求教,在此多谢各位了!!!!
二维码

扫码加我 拉你入群

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

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

关键词:邻接矩阵 网络图 R语言 GRAPH 请问有没有

沙发
llb_321 在职认证  发表于 2020-8-20 18:25:59
我整理的文库里有用igraph画网络图的代码 你把节点大小做成一个矩阵 改一下vertex size代码 应该可以实现你的想法 自己琢磨一下igraph里的函数吧

在那个示例中,在udG<-graph_from_adjacency_matrix语句之后,增加以下代码

newM<-matrix(as.integer(adjMtrx),nrow=dim(adjMtrx)[1]) #这两句只针对示例的数据
newM[is.na(newM)]<-0
vsize<-apply(newM,MARGIN=2,FUN=sum) #重点是这两句,之前的两句是因为读入数据有NA,且矩阵是char类型,计算加总前需要改成数值型
V(udG)$size <- vsize #这个是赋值给节点


这样,就可以按照各列的和确定节点大小了
然后,画图的plot语句中,把 vertex.size = 4, 这个参数删除掉,把vertex.label.cex = 1.8参数的数值改成合适的,比如0.5,
就可以实现你的想法了

已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
Husky_Zha 发表于 2020-8-27 11:56:39
llb_321 发表于 2020-8-20 18:25
我整理的文库里有用igraph画网络图的代码 你把节点大小做成一个矩阵 改一下vertex size代码 应该可以实现你 ...
谢谢您,我先钻研一下

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:07