Случайная функция графа в R

У меня есть задание, в котором я должен сгенерировать свою собственную функцию случайного графа в R с выводом igraph. Я понял, что самый простой способ сделать это - просто сгенерировать квадратную матрицу, а затем построить функцию, которая создает ребра между узлами в матрице. Однако я хотел бы сделать что-то особенное, где вероятность краев основана на формировании более высокой вероятности сибилевых сетей. Будет выглядеть так:

введите описание изображения здесь

Моя матрица генерируется и визуализируется довольно просто так:

NCols=20 
NRows=20 

myMat<-matrix(runif(NCols*NRows), ncol=NCols) 
myMat 


randomgraph<- graph_from_adjacency_matrix(myMatG, mode = "undirected", weighted = NULL, diag = TRUE, add.colnames = NULL, add.rownames = NA)

randomgraph %>%
  ggraph() + 
  geom_node_point(colour = "firebrick4", size = 0.5, show.legend = F)

Я знаю, что есть такие функции, как Erdos-Renyi Random- (для истинного случайного графа), графы Барабази-Альберта без масштаба и Ватта-Строгатца для малого мира. Я пытаюсь написать свой собственный с уникальным поворотом.

Будем весьма благодарны за любые советы или фрагменты кода о том, как написать собственную функцию предпочтительного вложения для случайной матрицы! Спасибо!

0 ответов

Другие вопросы по тегам