Używam igraph do kolorowania wierzchołkówPoprawnie kolorowe wierzchołki w R igraph
Mam dwie odpowiedzi plików CSV i topologię wykresu.
Odpowiedzi: (Mówi to, że gracze K i N odpowiedział poprawnie)
Player Q1_I1
1 k 1
2 l 0
3 n 1
4 m 0
Topologia: (reprezentacja, który jest podłączony do kogo)
Node.1 Node.2
1 k l
2 l k
3 l m
4 m l
5 l n
6 n l
7 n k
8 k n
Chciałem zbudować wykres za pomocą pakietu IGraph i kolor wierzchołków w różnych kolorach w zależności od ich poprawności.
To co udało mi się osiągnąć:
# reads answers and creates a graph from topology
answers <- read.csv("answers2.csv",header=T)
data<-read.csv('edges2.csv')
data<-graph.data.frame(data1, directed=FALSE)
g<-simplify(data)
# goes through vertices and colors them in different color, depending on correctness.
# 2 means second column (First one is the players name)
V(g)$color <- ifelse(answers[V(g), 2] == 1, "blue", "red")
plot(g, layout=layout.fruchterman.reingold, vertex.color=V(g)$color)
Problemem jest to, że w moim wyjściu kolory są źle:
Tutaj M i K są oznaczane jako prawidłowe, podczas gdy powinno być N i K. Myślę, że problem polega na tym, że nie precyzuję, że Węzeł powinien być powiązany z odtwarzaczem i próbowałem to osiągnąć, ale bez powodzenia.
Czy są jakieś pomysły, jak to osiągnąć?
@SalvadorDali: zobacz 'get.vertex.attribute',' V (g) $ value' to tylko cukier syntaktyczny, nazywa się 'get.vertex.attribute'. –
Kiedy to zrobię, pojawia się błąd: "dostarczony kolor nie jest ani numeryczny ani charakter" .Nie wydaje się znaleźć solna. – fraxture