Я играл с igraph в R, и у меня возникли проблемы с использованием весов при визуализации сети. Я читал, что это может работать не со всеми типами макетов, но должно работать с Fruchterman-Reingold.
Мой код и вывод ниже (я попробовал две разные версии функции макета, я думаю, что они делают одно и то же, но на всякий случай попробовал обе)
Я ожидаю, что Сесил и Боб будут очень близки в первой версии из-за большого веса их отношений, но, похоже, этого не происходит. Это происходит только тогда, когда я создаю дополнительные строки для Боба и Сесила (версия 2), но это будет проблемой для того, что я действительно хочу сделать с гораздо большим набором данных.
Я бы разместил изображения того, что я получаю, но я новичок в переполнении стека и у меня недостаточно очков репутации.
Любые идеи? Заранее спасибо.
Код:
#vers1
library(igraph)
relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David",
"David", "Esmeralda"),
to=c("Alice", "Bob", "Alice", "Alice", "Bob",
"Alice"),
weight=c(1,100,1,1,1,1))
graph<-graph_from_data_frame(relations, directed=F)
coords1<-layout_with_fr(graph, weights=E(graph)$weight)
coords2 <- layout.fruchterman.reingold(graph, weights=E(graph)$weight);
plot(graph,layout=coords1)
plot(graph,layout=coords2)
#vers2
library(igraph)
relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David",
"David", "Esmeralda",
"Cecil",
"Cecil",
"Cecil",
"Cecil",
"Cecil"),
to=c("Alice", "Bob", "Alice", "Alice", "Bob",
"Alice",
"Bob",
"Bob",
"Bob",
"Bob",
"Bob"),
weight=c(1,1,1,1,1,1,1,1,1,1,1))
graph<-graph_from_data_frame(relations, directed=F)
coords1<-layout_with_fr(graph, weights=E(graph)$weight)
coords2 <- layout.fruchterman.reingold(graph, weights=E(graph)$weight);
plot(graph,layout=coords1)
plot(graph,layout=coords2)