从文件中读取边.我无法定义图表

Gui*_*ada 1 r igraph

我是R.的新人.我正在使用igraph库.我是新用的这样的库.

我有个问题:

我有一个文本文件中的边列表.它有两列.第一个具有初始节点,第二个具有结束节点.

我正在阅读文件:

g1 <-read.table ("g1.txt")
Run Code Online (Sandbox Code Playgroud)

阅读是成功的.

ls.str(g1)我得到:

V1 :  int [1:995] 0 0 0 0 0 0 0 0 0 0 ...
V2 :  int [1:995] 2 3 4 5 6 7 8 9 10 11 ...
Run Code Online (Sandbox Code Playgroud)

当我尝试使用刚刚加载的边缘定义图形时,我得到:

Error in graph(g1) : (list) object cannot be coerced to type 'double'
Run Code Online (Sandbox Code Playgroud)

如何从文件的边缘定义图形,避免上述错误?

Hen*_*nry 5

正如@Sacha Epskamp建议的那样,as.matrix可能会对此进行排序,可能还有一个转置.

以下内容将重新创建错误消息,然后根据相同的数据生成图形

> library(igraph)
> g1 <- data.frame( V1 = c(0,0,0,0), V2 = c(2,3,4,5) )
> g1
  V1 V2
1  0  2
2  0  3
3  0  4
4  0  5
>
> graph(g1)
Error in graph(g1) : (list) object cannot be coerced to type 'double'
> 
> g2 <- t(as.matrix(g1))
> g2
   [,1] [,2] [,3] [,4]
V1    0    0    0    0
V2    2    3    4    5
>
> graph(g2)
Vertices: 6 
Edges: 4 
Directed: TRUE 
Edges:

[0] 0 -> 2
[1] 0 -> 3
[2] 0 -> 4
[3] 0 -> 5
Run Code Online (Sandbox Code Playgroud)