楼主: Donna_L
20965 12

[问答] 求助:如何用R语言绘制网络图 [推广有奖]

  • 7关注
  • 2粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
67 点
帖子
11
精华
0
在线时间
13 小时
注册时间
2014-2-19
最后登录
2015-3-8

楼主
Donna_L 发表于 2014-8-13 21:00:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求大神们帮我这个菜鸟解决一下问题,我想用R语言绘制网络图,数据的格式是这样的Node1        Node2        Weight
0        1        1
0        2        2
0        3        1
0        4        2
0        5        1
0        6        6
0        7        6
0        8        1
0        9        4
0        134        3
0        201        2
1        0        1
1        7        3

……
想用R进行处理,绘制成网络图,然后进行基础的网络分析,比如求度、介数什么的,目前只知道好像用igraph包,读入数据后,我不知道如何对这批数据进行处理构建网络,还请各位赐教!
ps用pajek做的是这样的: 11.jpg ,是不是哪里有问题?

二维码

扫码加我 拉你入群

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

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

关键词:R语言 网络图 如何用 Weight GRAPH 网络图 如何

回帖推荐

niu9146 发表于11楼  查看完整内容

不知道你igraph版本用的是哪一个,最新的igraph的节点是从1开始,你原始数据中有0,我把它们普遍加1了。 layout=layout.circle是你要的环形布局。太稠密了,都分不清线条了。[/backcolor] 试试其他布局,layout.fruchterman.reingold,[/backcolor]layout=layout.kamada.kawai[/backcolor] [/backcolor]

本帖被以下文库推荐

沙发
一路嘿嘿 发表于 2014-8-13 21:24:41
用igraph包画网络图很容易,可以求网络的拓扑属性等,看看igaph的帮助文档吧
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
Donna_L 发表于 2014-8-14 09:23:47
一路嘿嘿 发表于 2014-8-13 21:24
用igraph包画网络图很容易,可以求网络的拓扑属性等,看看igaph的帮助文档吧
可是我看帮助文档里面有好多,实在不知道用哪个处理这种格式的数据,求大神指个道

板凳
一路嘿嘿 发表于 2014-8-14 09:27:01
Donna_L 发表于 2014-8-14 09:23
可是我看帮助文档里面有好多,实在不知道用哪个处理这种格式的数据,求大神指个道
大神谈不上,你可以看看这个帖子https://bbs.pinggu.org/thread-3166191-1-1.html
再搞不定的话,可以把你的数据传上来,我看看,可以是邻接矩阵或者边列表的
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
Donna_L 发表于 2014-8-14 09:35:59
数据是这样的,求大神帮忙看看
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

地板
Donna_L 发表于 2014-8-14 09:36:34
一路嘿嘿 发表于 2014-8-14 09:27
大神谈不上,你可以看看这个帖子https://bbs.pinggu.org/thread-3166191-1-1.html
再搞不定的话,可以把你 ...
我觉得我那个数据用data.frame可能不行呢,求大神帮忙看看,数据在ls

7
一路嘿嘿 发表于 2014-8-14 09:53:16
Donna_L 发表于 2014-8-14 09:36
我觉得我那个数据用data.frame可能不行呢,求大神帮忙看看,数据在ls
  1. library(igraph)
  2. library(magrittr)
  3. data.frame(source=c(rep(0,10),1,1),des=c(2:9,134,201,0,7),
  4.   weight=c(2,1,2,1,6,6,1,4,3,2,1,3)) %>%
  5.   graph.data.frame(extract(1:2)) %>%
  6.   set.edge.attribute("weight",value=c(2,1,2,1,6,6,1,4,3,2,1,3)) %>%
  7.   plot()
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

8
Donna_L 发表于 2014-8-14 10:20:15
一路嘿嘿 发表于 2014-8-14 09:53
非常感谢您!
如果我想对四千多条这样的数据进行处理该怎么办?我把数据传在五楼了,还麻烦您帮忙看看,十分感谢!!
  1. library(igraph)
  2. library(magrittr)
  3. data<-read.table("D:\\neural.txt",head=FALSE)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

9
一路嘿嘿 发表于 2014-8-14 10:34:45
Donna_L 发表于 2014-8-14 10:20
非常感谢您!
如果我想对四千多条这样的数据进行处理该怎么办?我把数据传在五楼了,还麻烦您帮忙看看, ...
这种问题你看下我用的函数graph.data.frame的帮助就行了,能看懂我写的代码就行知道怎么用你的数据了,就算我给你贴出来,你如果不理解,下次碰到亦然不会,最好自己理解

read你的数据之后,前两列就是要构建graph的,第三列就是加入的edge的weight属性
  1. net.data  <- read.table("c:/Users/Administrator/Desktop/neural.txt")
  2. graph.data.frame(net.data[1:2]) %>%
  3.   set.edge.attribute("weight",value=net.data[[3]]) %>%
  4.   plot(vertex.size=5,vertex.label=NA,edge.arrow.size=0.3)
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

10
Donna_L 发表于 2014-8-14 10:38:14
一路嘿嘿 发表于 2014-8-14 10:34
这种问题你看下我用的函数graph.data.frame的帮助就行了,能看懂我写的代码就行知道怎么用你的数据了,就算 ...
嗯嗯,太感谢了!

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

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