Я оцениваю сети с ERGM с использованием пакета statnet в R. Я хотел бы визуализировать сеть, используя пакет igraph с размером по степени центральности и цветом узла по позиции лидера.Для объяснения: это сеть общего лидерства, и я хочу визуализировать, имеет ли человек формальную руководящую должность (LSPosition = 1), визуализируется черным или нет (LSPosition = 0), визуализируется белым.
Этомой код до сих пор (graphExample - моя сеть, Data_Axample - набор данных атрибута актера):
library(igraph)
degreeExample <- centralization.degree(graphExample)$res
V(graphExample)$size <- degreeExample
V(graphExample)$LSPosition <- Data_Example$LSPosition
colrs <- colors(c("black","white"))
V(graphExample)$color <- colrs[V(graphExample)$LSPosition]
E(graphExample)$arrow.size <- 0.5
plot(graphExample, vertex.label = NA, vertex.label.family = "Arial")
legend("bottomleft", c("Employee in no leading position",
"Employee in a leading position"),
pch = 21, col = "#777777", pt.bg = colrs, pt.cex = 2, cex = 0.8, bty = "n", ncol = 1)
Проблема в том, что для colrs <- colors(c("black","white"))
я получаю следующую ошибку:
Error in if (distinct) c[!duplicated(t(col2rgb(c)))] else c :
argument is not interpretable as logical
In addition: Warning message: In if (distinct) c[!duplicated(t(col2rgb(c)))] else c :
the condition has length > 1 and only the first element will be used
Я также попробовал следующее:
V(graphExample)$color <- ifelse(V(graphExample)$LSPosition==1, "black", ifelse(V(graphExample)$LSPosition==0, "white"))
Но я получаю ошибку:
Ошибка в ifelse (V (graphSLO_V1) $ PositionO == 0, "белый""): отсутствует аргумент" нет ", без значения по умолчанию.
Как установить цвета?