2011-02-05 37 views
13

Tôi đang làm việc với thư viện iGraph và tôi cần chạy một số phân tích thống kê trên mạng. Tôi đang tính toán một số biến bằng cách sử dụng iGraph và sau đó muốn sử dụng các chỉ số đó làm biến phụ thuộc trong một vài hồi quy và các thuộc tính đỉnh là các biến độc lập trong mô hình.Chuyển đổi đối tượng igraph thành khung dữ liệu trong R

Vì vậy, tôi có thể tải dữ liệu, chạy phân tích igraph, nhưng tôi đang gặp sự cố khi chuyển đối tượng igraph trở lại vào một khung dữ liệu. Tôi không thực sự cần các cạnh được bảo tồn, chỉ cần mỗi đỉnh được biến thành một quan sát với các thuộc tính phục vụ như một cột trong mỗi hàng.

tôi thử như sau:

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) 

Nhưng nó ném các lỗi sau:

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

Bất kỳ sự giúp đỡ hoặc con trỏ sẽ được đánh giá rất nhiều.

+0

Tôi chưa từng làm việc với dữ liệu igraph trước đó, nhưng nếu bạn có thể cung cấp một ví dụ tái sản xuất đơn giản, tôi có thể có thể trích xuất dữ liệu từ lớp igraph. –

+0

Bạn có nghĩa là gói igraph * – Spacedman

+0

Có, gói igraph. Vẫn nhận được các lingo xuống. –

Trả lời

19

Tôi không hoàn toàn chắc chắn những gì bạn đang cố gắng làm. Bạn có muốn các mối quan hệ như một khung dữ liệu hoặc thuộc tính nút như một khung dữ liệu không?

Để làm trước đây:

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

Để thực hiện điều sau:

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

Tôi đã thực sự cố gắng để làm sau này, nhưng trước đây là rất hữu ích là tốt. Tôi đang cố gắng đưa một số thuộc tính net được tính toán trở lại vào khung dữ liệu để chạy một số phân tích logit trên chúng. –

+0

Nhân tiện, tôi yêu blog của bạn! –

Các vấn đề liên quan