我正在尝试想象一下"合资企业"的关系数据结构。 (即,公司与产品中的其他公司合作)。例如,公司i可能参与合资公司A与公司j,但公司我也参与合资公司B与公司j和公司k等,所以公司i,j,k都共享某种合作会员关系({i,j},{i,j,k}),但公司{i,j}之间合作的力度强于公司{i,k},因为公司i和j合作更多联合风险。
我想在这些标志性的网络图中将其可视化,但强调不同对偶(公司)之间的关系强度。我想到的一个相关例子是Mark Newman在PNAS(Newman 2004)中的共同作者研究,在图6中,每对节点(即作者)通过不同厚度的边连接,代表每对作者之间共同作者强度的强度(即两者之间的协作作品数量),如下图所示:
我已经查看了一些与R&'s igraph和二分包有关的先前帖子(例如this one),但不认为二分网络及其应用符合我的目的。
我想知道(1)是否有任何现有的R包/应用程序可以帮助可视化网络中每个节点之间的连接强度,以及(2)这种类型的数据结构应该如何看待喜欢? (使用'公司','项目'作为列或行?)
谢谢。
答案 0 :(得分:2)
正如@ R.B所说,您可以使用visNetwork
库。发明数据的代码可能如下所示:
library(igraph)
library(visNetwork)
set.seed(98765) # for reproducibility
### generate some data,
### nodes are entitities: letters represent contributors
nodes <- data.frame(id = 1:11,
label = LETTERS[1:11], # name of node
title = LETTERS[1:11]) # optional tooltip
### edges represent relations
edges <- data.frame(
from = sample(1:11, 50, replace = TRUE),
to = sample(1:11, 50, replace = TRUE),
arrows = "",
width = c(rep(1, 20), rep(4, 20), rep(6,6), rep(10, 3), 15) ## weights
)
visNetwork(nodes, edges, width = "100%") %>%
visIgraphLayout(layout = "layout_in_circle") %>%
visNodes(size = 25) %>%
visOptions(highlightNearest = list(enabled = F, hover = T) )
这将生成以下图表(以html交互)
请告诉我这是否是你想要的。