2011-02-05 27 views
13

Sto lavorando con la libreria iGraph e ho bisogno di eseguire alcune analisi statistiche sulla rete. Sto calcolando diverse variabili usando iGraph e poi voglio usare quegli indicatori come variabile dipendente in poche regressioni e gli attributi del vertice come variabili indipendenti nel modello.Converti oggetto igraph in un frame di dati in R

Quindi, sono in grado di caricare i dati, eseguire l'analisi di igraph, ma ho difficoltà a riportare l'oggetto igraph in un frame di dati. Non ho davvero bisogno che i bordi siano preservati, ma solo i vertici da trasformare in un'osservazione con gli attributi che servono da colonna in ogni riga.

ho provato la seguente:

fg <- fastgreedy.community(uncompg, merges=TRUE) 
z<-which.max(fg$modularity) 
fgc<- community.to.membership(uncompg, fg$merges,z) 
names<-array(V(uncompg)$name) 
fccommunity<-array(fgc$membership) 
fcresult<-as.matrix(cbind(names,fccommunity)) 
compg <- set.vertex.attribute(compg, "community", value=fccommunity) 

uncompg<-simplify(as.undirected(compg)) 
hubscore<-hub.score(compg)$vector 
authscore<-authority.score(compg)$vector 

netdata<-as.data.frame(compg) 

Ma getta il seguente errore:

cannot coerce class '"igraph"' into a data.frame 

Qualsiasi aiuto o puntatori sarebbe molto apprezzato.

+0

Non ho lavorato con i dati IGRAPH prima, ma se si potesse fornire un semplice esempio riproducibile, probabilmente potrei estrai i dati dalla classe igraph. –

+0

Intendi il pacchetto igraph * * – Spacedman

+0

Sì, il pacchetto igraph. Sto ancora facendo il gergo. –

risposta

19

Non sono abbastanza sicuro di quello che stai cercando di fare. Vuoi le relazioni come frame di dati o l'attributo node come frame di dati?

di fare la prima:

> compg.edges <- as.data.frame(get.edgelist(compg)) 

Per fare quest'ultima:

> compg.df <- as.data.frame(list(Vertex=V(compg), Community=fccommunity, Hubscore=hubscore, Authscore=authscore), stringsAsFactors=FALSE) 
+0

In realtà stavo cercando di fare il dopo, ma anche il primo è molto utile. Sto cercando di riportare alcuni attributi di rete calcolati nel frame di dati per eseguire alcune analisi logit su di essi. –

+0

Ad ogni modo, adoro il tuo blog! –

Problemi correlati