Mi problema es que pierdo el vértice de los nombres o etiquetas (no estoy seguro acerca de la palabra aquí) cuando se genera un gráfico utilizando iGraph.

Tengo un borde lista IC_edge_sub de un bipartito de la red, que tiene el siguiente aspecto:

  new_individualID new_companyID
1             <NA>     10024354c
3        10069415i      2020225c
4        10069415i     16020347c
5        10069272i      2020225c
6        10069272i     16020347c
7        10069274i      2020225c

Yo, a continuación, crear un elemento gráfico:

IC_projected_graphs <- bipartite.projection(IC_twomode, types = 
                         is.bipartite(IC_twomode)$type)

Luego del colapso a identificar sólo las conexiones entre companyIDs

IC_projected_graphs <- bipartite.projection(IC_twomode, types =   
                         is.bipartite(IC_twomode)$type)

Y, a continuación, obtener la matriz de adyacencia:

CC_matrix_IC_based <- get.adjacency(CC_graph_IC_based); CC_matrix_IC_based

De iGraph nodo de la numeración comienza en cero y por lo tanto también la matriz de nomenclatura comienza en cero. Sin embargo, me gustaría que en vez de eso ahora necesita el «new_companyID», como se especifica en la 2ª columna de la edgelist en el eventual CC_matrix_IC_based de la matriz.

Me puede ayudar cómo utilizar la información de la forma original de la edgelist poner en rownames y colnames, finalmente, la matriz de adyacencia?

Que busqué en google y buscar de pila de flujo, pero no podía encontrar un trabajo respuesta. Muchas gracias por tu ayuda

gracias a Andrie para la edición. Yo no había visto los problemas de mi escritura creado. Realmente lo aprecio.

OriginalEl autor Henning Piezunka | 2012-06-08

2 Comentarios

  1. 24

    Vértice nombres generalmente son almacenados en un vértice atributo denominado name en igraph. Por lo tanto, si su gráfica es almacenado en la variable g, entonces usted puede utilizar V(g)$name para recuperar los nombres de todos los vértices.

    lamentablemente esto no funciona en mi caso. Simplemente me NULL espalda. Demasiado malo. Cualquier alternativa ideas por casualidad. Lo siento, pero estoy muy meter en esto.
    Cómo obtener la relación de los valores numéricos vértice de identificación y el nombre?

    OriginalEl autor Tamás

  2. 1

    Sé, bastante presuntuoso para responder a las propias preguntas.

    Creo que he resuelto. La clave de la cuestión era que yo no había guardado los nombres a la hora de generar el gráfico. Gracias a Tamas. Sin su respuesta no me habría dado cuenta de que. Después me necesita para asegurarse de no perder los datos. En la siguiente la solución general:

      # Subsetting /triangulating data for selected games
          GC_edge_sub <- subset (GC_edge, mb_titleID %in% loggames_yearly_sample$mb_titleID)
          GC_edge_sub <- subset(GC_edge_sub, select=c("new_titleID", "new_companyID"))
          head(GC_edge_sub)
    
      # Generating the vertex names
          vertex_new_companyID <- data.frame(names = unique(GC_edge_sub$new_companyID))
          vertex_new_titleID <- data.frame(names = unique(GC_edge_sub$new_titleID))
          vertex <- rbind(vertex_new_companyID,vertex_new_titleID)
    
      # Creation of GC_twomode
        GC_twomode <- graph.data.frame(GC_edge_sub, vertices = vertex)
        GC_projected_graphs <- bipartite.projection(GC_twomode, types = is.bipartite(GC_twomode)$type)
        GC_matrix_GC_based <- get.adjacency(GC_twomode)
        dim(GC_matrix_GC_based)
    
      # Collapsing the matrix
          # Be aware that if you use the classical command # CC_graph_GC_based <- GC_projected_graphs$proj2 it collapses, but looses the colnames and rownames
          # I thus a) create a subset of the adjacency matrix and b) create the lookef for matrix by multiplication    
            rowtokeep <- match(vertex_new_companyID$names,colnames(GC_matrix_GC_based))
            coltokeep <- match(vertex_new_titleID$names,rownames(GC_matrix_GC_based))
            GC_matrix_GC_based_redux <- GC_matrix_GC_based[rowtokeep,coltokeep]
        # We now have a CG matrix.Let's build from this a GG matrix.
            CC <- GC_matrix_GC_based_redux %*% t(GC_matrix_GC_based_redux)

    OriginalEl autor Henning Piezunka

Dejar respuesta

Please enter your comment!
Please enter your name here