Как смоделировать граф с Ассортативностью или Гомофилией в R? - PullRequest
0 голосов
/ 30 апреля 2018

В R я сейчас работаю с пакетом igraph. Мне интересно, есть ли какие-либо способы симулировать графы с гомофильной или ассортативной структурой к этому - или если другие пакеты R допускают это. Спасибо!

1 Ответ

0 голосов
/ 01 мая 2018

Вы смотрели на пакет эргм ? Используя модель экспоненциального случайного графа, вы можете моделировать ассортативную сеть с nodematch членом. См. ?"ergm-terms" для описания термина.

library(ergm)

test.net = as.network(matrix(0,10,10), directed = F) #10-node network
test.net%v%"class" = sample(c('1','2'), 10, replace = T) #nodal attribute

simulate (или simulate.formula) сеть с термином, который управляет плотностью (edges), и сеть, которая управляет гомофилией (nodematch) в узловом атрибуте:

test.sim = simulate(test.net ~ edges + nodematch("class"), coef = c(-1, 4))
plot(test.sim, vertex.col = as.numeric(test.net%v%"class"), vertex.cex = 2)

Вы можете переместить сеть обратно в igraph с помощью asIgraph из пакета intergraph .

...