Случайная функция графа в 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- (для истинного случайного графа), графы Барабази-Альберта без масштаба и Ватта-Строгатца для малого мира. Я пытаюсь написать свой собственный с уникальным поворотом.
Будем весьма благодарны за любые советы или фрагменты кода о том, как написать собственную функцию предпочтительного вложения для случайной матрицы! Спасибо!