如何解决如何在行/列中转换 igraph 文件?
我想将我拥有的信息传递给带有节点的普通轴列表,但我不知道该怎么做。带有“deput”的原始数据看起来像这样。如果有人知道如何将此列表转换为更易于使用的内容,我将不胜感激。我可以使用“绘图”将图形可视化,但要对其进行编辑,我需要获得更精确的信息。
library(igraph)
dput (net2$graph_pajek)
structure(list(30,FALSE,c(1,1,2,3,4,5,6,7,13,14,15,16,18,20,21,27,29,8,9,10,11,12,19,23,24,25,26,15),list(c(1,1),structure(list(),.Names = character(0)),list(name = c("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","AB","AC","AD","AE"
),deg = c(248,532,855,574,1761,261,229,216,554,628,774,223,502,295,266,910,227,312,364,260,294,741,471,392,376,292,212,287),size = c(2.,3.,3),label.cex = c(0.7,0.7,0.7
),id = c("A","AE"
)),list(num = c(4,40,40),weight = c(4,18))),<environment>),class = "igraph")
解决方法
您是否正在寻找类似 get.data.frame
> get.data.frame(net)
from to weight
1 A B 0.63502922
2 B C 0.79410173
3 C D 0.90802625
4 D E 0.09408188
5 E F 0.16450634
6 F G 0.75931882
7 G H 0.30409658
8 H I 0.23990324
9 I J 0.84762277
10 A J 0.88657718
数据
由于我无法重现您帖子中的示例,因此我创建了一个虚拟示例 net
,如下所示
net <- make_ring(10) %>%
set_vertex_attr(name = "name",value = LETTERS[1:vcount(.)]) %>%
set_edge_attr(name = "weight",value = runif(ecount(.)))
,
澄清几点:
- igraph 文件本身不是图,而是图结构(如节点和边)。
-
igraph
具有绘制图形的函数,但没有单一且标准的绘制图形的方法 - 相反,可以使用不同的算法来确定视觉上理想的显示方式,而这些算法通常依赖于随机初始化。 - igraph 绘图函数的输出仅与 R 基本绘图逻辑相关,AFAIK 它们不使用在用户可理解的结构中处理坐标的中间格式。不过,您可以管理它们绘制方式的许多方面 - 请参阅
?igraph::igraph.plotting
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。