On Thu, Apr 25, 2013 at 10:34 AM, Gábor Csárdi <[email protected]> wrote:

> I see. Then what you could do is adding a vertex attribute, named (say)
> "Opinion", and then update that based on the network structure, e.g. (in R):
>

Sorry, sent it prematurely, this is the correct code:

library(igraph)
set.seed(42)
net <- erdos.renyi.game(40, 2/40)
V(net)$Opinion <- sample(1:2, vcount(net), replace=TRUE)

coords <- layout.auto(net)
colbar <- c("orange", "cyan")
layout(rbind(1:2))
par(mar=c(0,0,0,0))
plot(net, vertex.color=colbar[V(net)$Opinion], layout=coords)

## Set the opinion based on the neighbors
V(net)$Opinion <- sapply(V(net), function(x) {
  if (degree(net, x)==0) {
    V(net)$Opinion[x]
  } else {
    round(mean(V(net)$Opinion[neighbors(net,x)]))
  }
})

plot(net, vertex.color=colbar[V(net)$Opinion], layout=coords)

G.

[...]

-- 
Gabor Csardi <[email protected]>     MTA KFKI RMKI
_______________________________________________
igraph-help mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/igraph-help

Reply via email to