R & Gephi:los bordes en la red no son importadas correctamente utilizando el paquete rgexf

StackOverflow https://stackoverflow.com//questions/22026659

  •  21-12-2019
  •  | 
  •  

Pregunta

Tengo un problema con el paquete de R "rgexf".En particular, tengo un problema con el los bordes de la red puedo importar a Gephi.En R I puede producir una base de datos de los vértices

>vertices
   Id Label
1   1     1
2   2     2
3   3     3
4   4     4
5   5     5
6   6     6
7   7     7
8   8     8
9   9     9
10 10    10

y una base de datos de los bordes (de un solo filo, para ser exactos)

>edges 
      Source Target
    1      5      9

Puedo crear una .archivo gexf el uso de

  >write.gexf(output = path_gexf, nodes = vertices, edges = edges,  defaultedgetype = "undirected")

donde path_gexf es sólo la ruta de acceso del archivo de salida (lo que se denomina ejemplo.gexf).
Abro ejemplo.gexf el uso de Gephi (versión 0.8.2 beta).En la imagen 1:enter image description here

usted puede ver el informe de importación en Gephi:el número de vértices y aristas es correcta;Yo manualmente cambiar el tipo de gráfico a grafo y yo importar todos los datos para el Laboratorio de Datos de la ventana.

  1. Pregunta 1. Por qué se supone que tengo que especificar "espontáneos" en la importación de la ventana de informe si ya lo hice en la escritura.gexf función?

En image2

enter image description here

se puede ver que, después de la importación, el tipo de gráfico que se cambia automáticamente a "dirigida" y sin borde es realmente importan.

En la imagen 3

enter image description here

tenemos la lista de vértices:todo está muy bien.Y etiquetas de Identificación se importan correctamente.En la imagen 4

enter image description here

usted puede ver los Datos de Laboratorio de la ventana de los bordes:sin borde es importado, como ya se ha señalado en la imagen 2.Yo realmente no entiendo por qué no edge es importado.

  1. Pregunta 2.Cómo corregir la importación de ejemplo.archivo gexf?En el nivel de código R todo es suave, y vértices o aristas se genera correctamente por mi código.Se producen problemas con Gephi.

Observaciones:Tengo un montón de .gexf archivos con las cuestiones relativas a la importación de los bordes;en muchos casos sólo unos bordes son importados con uncorrect "Origen" y "Destino".Curiosamente, bordes paralelos siempre están correctamente contabilizados de acuerdo con sus multiplicidades.

Pido disculpas por el largo post.

EDITAR:algunas pruebas con un maniquí código R

Hice algunas pruebas con @James Tobin, del código (¡gracias!).Funciona bien en mi pc.Hice pruebas con gráficos con 2 aristas:las pruebas fueron todo ok.Luego me mudé a los 3,4 bordes de los casos, el uso de

require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,2),c(1,1,3)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
           defaultedgetype = "undirected")

y

require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(c(5,1,4,2),c(2,3,1,2)))
colnames(edges) <- c('Source','Target')
write.gexf(nodes=vertices,edges=edges,
           defaultedgetype = "undirected")

En ambos casos, el código XLM es correcta w.r.t.los nodos y bordes de id, etiquetas, fuentes y objetivos.

Dónde están los problemas?En los 3 bordes caso de la importación de informes en Gephi es correcto, mientras que los datos de laboratorio borde de la ventana no muestra el borde

<edge id="1" source="1" target="1" weight="1.0"/>

En los 4 bordes de la arista

 <edge id="0" source="5" target="2" weight="1.0"/>

falta, en su lugar.

Empiezo a creer que hay un error en Gephi 0.8.2 y no en mi código.

Cualquier sugerencia/comentario?

¿Fue útil?

Solución

Pregunta 1:Aunque ya se ha especificado el grafo no dirigido en el archivo gexf, lo indicado es el valor predeterminado, a pesar de clic es un poco molesto, al menos no es tan grande de acuerdo.Desde la perspectiva de la seguridad, es más fácil para permitir a un usuario a comprobar qué tipo de gráfico que se va a importar, que potencialmente seleccionar incorrectamente.Toma 2 segundos, no es un gran problema.

Pregunta 2:He copiado tu ejemplo

require(rgexf)
vertices <- as.data.frame(cbind(seq(1,10),seq(1,10)))
colnames(vertices) <- c('Id','Label')
edges <- as.data.frame(cbind(5,9))
colnames(edges) <- c('Source','Target')
write.gexf(output='testgex.gexf',nodes=vertices,edges=edges,
          defaultedgetype = "undirected")

pero no tengo problemas con los bordes.enter image description here enter image description here enter image description here

Tal vez usted puede incluir su código exacto que falla?Tal vez sus bordes no están en los datos.forma del marco?Sólo una suposición, porque no podía replicar su error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top