我目前有一个R语言的网络,该网络具有邻接矩阵,边列表和网络格式,我想根据每个节点的协变量进行绘制。我有三个协变量age
,class
和score
,其中age
为0或1,class
的范围为1至50,而{{1 }}的范围是0到100。我想知道R中的哪个包可能有助于绘制节点及其网络边缘,其节点颜色取决于score
,节点的符号取决于class
,以及一个依赖于age
的节点? score
中是否存在此类方法?谢谢!
答案 0 :(得分:1)
以下是使用igraph
的示例。由于您不提供任何数据,因此我将举例说明一些随机生成的数据。
library(igraph)
set.seed(12)
g = erdos.renyi.game(10,0.33)
V(g)$age = sample(0:1, 10, replace=TRUE)
V(g)$class = sample(50, 10, replace=TRUE)
V(g)$score = sample(0:100, 10, replace=TRUE)
plot(g, vertex.shape = c("circle", "square")[V(g)$age + 1],
vertex.color = rainbow(50)[V(g)$class],
vertex.size = round(sqrt(V(g)$score+25)),
vertex.label.dist = 1.5)
我怀疑一个人可以区分50种颜色以从图形中读取50个类的值。
您希望节点的大小取决于分数,分数从0到100。您当然不希望任何大小为零的节点,并且您当然不希望任何节点的大小是另一个节点的100倍。节点。因此,我使用size = round(sqrt(V(g)$score+25))
来避免这些问题。
因为当节点非常小时很难读取标签,所以我用vertex.label.dist = 1.5