2011-02-05 33 views
13

iGraph kütüphanesi ile çalışıyorum ve ağda bazı istatistiksel analizler yürütmem gerekiyor. IGraph kullanarak çeşitli değişkenleri hesaplıyorum ve sonra bu göstergeleri birkaç regresyonda bağımlı değişken olarak kullanmak ve modeldeki bağımsız değişkenler olarak köşe özniteliklerini kullanmak istiyorum.igraph nesnesini bir veri çerçevesine dönüştürün R

Verileri yükleyebilirim, igraph analizini çalıştırabilirim, ancak igraph nesnesini bir veri çerçevesine dönüştürmede sorun yaşıyorum. Korunması gereken kenarlara gerçekten ihtiyacım yok, sadece her köşe, her satırda sütun görevi gören özniteliklere dönüşecek.

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) 

Ama şu hatayı atar:

Aşağıdaki çalıştı

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

Herhangi bir yardım veya işaretçiler büyük takdir.

+0

Daha önce iGRAPH verilerle çalışmadım ama basit bir tekrarlanabilir örnek verebilir eğer, muhtemelen could verileri igraph sınıfından çıkartın. –

+0

Igraph * paketini kastediyorum * – Spacedman

+0

Evet, igraph paketi. Hala lingoyu indiriyorum. –

cevap

19

Ne yapmaya çalıştığınızdan tam olarak emin değilim. Veri çerçevesi olarak ilişkiler mi yoksa veri çerçevesi olarak düğüm özniteliği mi istiyorsunuz?

eski yapmak için:

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

ikincisi yapmak için:

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

Aslında daha sonra yapmayı denedim, ama eski çok faydalı. Bazı mantıksal analizleri çalıştırmak için bazı netlenmiş net öznitelikleri veri çerçevesine geri getirmeye çalışıyorum. –

+0

Bu arada, blogunuzu çok seviyorum! –

İlgili konular