Чтение ребер из файла. Я не могу определить график - PullRequest
1 голос
/ 04 июля 2011

Я новичок в R. Я работаю с библиотекой igraph.Я новичок в использовании такой библиотеки.

У меня проблема:

У меня есть список ребер в текстовом файле.У него есть две колонки.У первого есть начальный узел, у второго - конечный.

Я читаю файл с:

g1 <-read.table ("g1.txt")

Чтение прошло успешно.

с 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 ...

, когда я пытаюсь определить график только что загруженными ребрами, я получаю:

Error in graph(g1) : (list) object cannot be coerced to type 'double'

Как я могопределить график по краям файла, избегая вышеуказанной ошибки?

1 Ответ

5 голосов
/ 04 июля 2011

Как предположил @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
...