Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中以正确的顺序获取igraph中的数据_R_Igraph - Fatal编程技术网

如何在R中以正确的顺序获取igraph中的数据

如何在R中以正确的顺序获取igraph中的数据,r,igraph,R,Igraph,我有一个图表,需要按照数据集中的正确顺序表示: df <- data.frame( col1 = c("A1", "B1", "C1", "D1", "E1", "A", "B", "C", "D", "E"), col2 = c("ABC", "ABC", "B1", "B1", "B1", "A1", "B1", "C1", "D1", "E1")) 通过这个代码,我得到了这个图表 A和B应位于图表的前面,并应显示为A、B、C、D、E 我相信igraph会“按顺序”绘

我有一个图表,需要按照数据集中的正确顺序表示:

df <- data.frame(
col1 = c("A1",   "B1", "C1", "D1", "E1", "A",   "B",   "C",  "D", "E"),
col2 = c("ABC", "ABC", "B1", "B1", "B1", "A1",  "B1", "C1", "D1", "E1"))
通过这个代码,我得到了这个图表

A和B应位于图表的前面,并应显示为A、B、C、D、E


我相信
igraph
会“按顺序”绘制边和顶点。因此,我认为您可以重新排列顶点:

abc也可以使用
abc
library(igraph) 

abc <- union(df$col2, df$col1)
df <- df[c('col2', 'col1')]
names(df) <- c('from', 'to')
g <- graph.data.frame(df, directed = TRUE, vertices = abc)
plot(g,vertex.size=2, vertex.label.dist=0.5, vertex.color="cyan", 
 edge.arrow.size=0.5, layout=layout.reingold.tilford(g))