Цветные узлы в направленной сети в R - PullRequest
1 голос
/ 16 июня 2020

У меня есть направленная сеть только с двумя типами узлов, 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)

Можно ли раскрасить узлы в зависимости от того, находятся ли они в списке ребер: от или до , без добавления других переменных / метки в список узлов?

(я пробовал раскрашивать узлы вот так, но понял, что это не имеет особого смысла)

plot(g, vertex.color=V(g$edges=='from'))

1 Ответ

0 голосов
/ 17 июня 2020

Я не уверен на 100%, но думаю, что то, что вы ищете, на самом деле не существует. vertex.color требуется вектор цветов, по одному цвету для каждой из вершин.

Между тем, в качестве обходного пути вы можете использовать вывод степени для выбора вершин с входной (или выходной) степенью 0 или выше:

plot(g,
     vertex.color=ifelse(degree(g, mode = "out")>0, "red", "black"),
     size=15)
...