#r #graph
#r #График
Вопрос:
У меня большой набор данных, содержащий большое количество узлов; более 25000 узлов, организованных в .csv
файл. Структура похожа на следующую :
node freq
a 3
b 2
c 5
Я хочу создать график из этих узлов, в котором ребра между узлами строятся с помощью функции freq
столбца. Я использовал rgraph
функцию из sna
пакета, например:
num_nodes <- length(data$node)
pLink = data$freq/10
# create 1 graph with nodes and link proability, graph loops = FALSE
graph_adj= rgraph(num_nodes,1,pLink,"graph",FALSE)
graph <- graph.adjacency(graph_adj, mode="undirected")
Приведенный выше код выполняется в случае небольшого количества узлов, но при большом количестве узлов сеанс R прерывается со следующей ошибкой:
Error: C stack usage 19924416 is too close to the limit
Есть ли другой способ создать график с упомянутыми свойствами: большое количество узлов и ребер создается с вероятностью?
Комментарии:
1. Вы пробовали
igraph
package? Обычно используется для построения сетей2. Я попробовал, но не нашел способа создать ребра на основе
freq
функции3. Сообщение об ошибке, которое вы получаете, часто является признаком бесконечной рекурсии.
4. Спасибо @TomasKalibera , проблема заключалась в вычислении вероятности, поскольку иногда она превышает 1!