0
我想使用GGally或ggnetwork繪製一個網絡對象,我希望能夠生成一個佈局,其中節點按頂點屬性分組。我花了一些時間尋找一種方法來做到這一點,但還沒有弄清楚。節點是否可以按照屬性佈局進行分組,使得所有具有屬性「a」的節點位於集羣中,屬性「b」的節點位於集羣中等。如何通過ggnet2或ggnetwork中的頂點屬性對節點進行分組
在此先感謝。
這裏有兩個例子:
library (GGally)
library (ggnetwork)
library (ggplot2)
library (sna)
library (network)
#make a random network with some vertex attributes
abc<-as.network(rgraph(20,1))
abc %v% "kinds" <- letters[1:3]
abc %v% "model" <- LETTERS[12:18]
#plot the network using ggnet2 in library (GGally)
#I want to somehow group the nodes together by a vertex attribute.
#Here I have tried to group nodes by "kinds." How to do this??
ggnet2(abc,
size="degree", size.cut=3,
color = "kinds",
group = "kinds")
#and here is an example using library (ggnetwork)
#set degree as an attribute to call in ggnetwork.
#I could not figure out another way to set size = degree without first
#passing it as a vertex attribute.
abc %v% "deg_4ggnet"<-degree(abc)
abc2<-ggnetwork(abc)
ggplot(abc2, aes(x = x, y = y, xend = xend, yend = yend))+
geom_edges(color = "black") +
geom_nodes(aes(color = kinds, size = deg_4ggnet)) +
theme_blank()
#How to group by vertex attribute "kinds"???
看看這篇文章:http://stackoverflow.com/q/28693826/4488105 – paqmo