我有一个只有两个类型的节点A和B的定向网络。方向始终是从任何给定的A,到任何给定的B。没有其他方向。
边缘列表看起来像这样:
edges <- read.table(text = "
from to weight
1 6 1.2
3 7 1.4
4 6 1.2
1 7 1.2
2 8 1.2
1 9 1.2
5 10 1.2 ", header=T )
节点列表看起来像这样:
nodes
id
1 1
2 1
3 3
4 4
5 5
6 6
7 7
8 B
9 9
10 10
该图是使用igraph包创建的。
g <- graph_from_data_frame(d = edges, vertices=nodes, directed = TRUE)
是否可以根据边缘列表中的节点是from还是to为节点着色,而无需在节点列表中添加其他变量/标签?
((我曾尝试像这样给节点着色,但意识到这没有多大意义)
plot(g, vertex.color=V(g$edges=='from'))
我不确定100%,但是我认为您要找的东西并不存在。 vertex.color
需要颜色向量,每个顶点一种颜色。
同时,作为一种解决方法,您可以使用度的输出来选择in(或out)度为0或更高的顶点:
plot(g,
vertex.color=ifelse(degree(g, mode = "out")>0, "red", "black"),
size=15)