楼主: zhaomn200145
1095 5

[有偿编程] 请教一个使用igraph创建network的仿真程序的编写方法 [推广有奖]

  • 1关注
  • 17粉丝

贵宾

已卖:254份资源

学科带头人

69%

还不是VIP/贵宾

-

威望
1
论坛币
580287 个
通用积分
80.4202
学术水平
128 点
热心指数
80 点
信用等级
43 点
经验
61461 点
帖子
1458
精华
1
在线时间
2603 小时
注册时间
2005-9-27
最后登录
2025-12-24

楼主
zhaomn200145 发表于 2021-3-24 23:17:41 |AI写论文
100论坛币
本人R软件的菜鸟,在这里请教各位大神:
使用igraph包构造网络的一般程序如下:
library(igraph)# 读取节点文件
nodes <- read.table("nodes.txt")
# 读取边文件
links <- read.table("links.txt")
# 创建
netwoknet <- graph_from_data_frame(d = links,vertices = nodes,directed = F)
其中的节点nodes文件结构如下


对于边而言,文件内容一般的格式如下:

如果现在是没有点和边的这种文本文件,只是想自己通过仿真的方式来模拟以上点和边的数据,并生成对应的网络的话,程序应该怎么调整呢?谢谢各位!


最佳答案

llb_321 查看完整内容

igraph的包,数据源可以是data.frame,也可以是matrix。 data.frame的话,就用仿真的数据做成nodes和edge两个文件,然后倒入R,用你上面的graph_from_data_frame()代码生成net,用ggplot2可以绘制。 用matrix的话,需要将仿真数据生成一个邻接矩阵,然后用graph_from_adjacency_matrix()生成net。 两种文件的结构可以参考附件
关键词:network GRAPH 仿真程序 Work GRAP

沙发
llb_321 在职认证  发表于 2021-3-24 23:17:42
igraph的包,数据源可以是data.frame,也可以是matrix。
data.frame的话,就用仿真的数据做成nodes和edge两个文件,然后倒入R,用你上面的graph_from_data_frame()代码生成net,用ggplot2可以绘制。
用matrix的话,需要将仿真数据生成一个邻接矩阵,然后用graph_from_adjacency_matrix()生成net。
两种文件的结构可以参考附件 示例数据.rar (1.33 KB) 本附件包括:
  • netchivago.csv
  • netedge.csv
  • netnodes.csv

藤椅
zhaomn200145 发表于 2021-3-25 21:15:27
llb_321 发表于 2021-3-25 09:43
igraph的包,数据源可以是data.frame,也可以是matrix。
data.frame的话,就用仿真的数据做成nodes和edge ...
谢谢!想继续请教您一下,能否给出仿真程序如何编写基于连接列表的data.frame的code?还有就是仿真数据作出的nodes和edge必须单独做成两个不同的文件吗?还是可以在编程的时候直接在程序中做好,然后画图的时候就可以直接调用了?很多问题都不是太明白,不好意思。

板凳
llb_321 在职认证  发表于 2021-3-26 08:54:12
其实,igraph画出网络图不难。难点在仿真和数据转换两个环节。

报纸
zhaomn200145 发表于 2021-3-26 15:58:10
我主要考虑是做网络仿真基础上的抽样,但是感觉自己基础不行,好多东西有想法但是不知如何通过程序实现。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-1 21:49