r - 使用现有 R 应用程序/包可视化协作网络结构

标签 r social-networking igraph bipartite

我正在尝试可视化“合资企业”的关系数据结构(即公司在产品方面与其他公司合作)。例如,公司 i 可能与公司 j 参与合资企业 A,但公司 i 也与公司 j 和公司 k 参与合资企业 B,等等,因此公司 i、j、k 都共享某种共同利益。隶属关系 ({i, j}, {i, j, k}),但企业 {i, j} 之间的协作强度强于企业 {i, k},因为企业 i 和 j 之间的合作更加联合冒险。

我会在那些标志性的网络图中形象化这一点,但强调不同二元组(公司)之间不同的关系强度。我想到的一个相关例子是 Mark Newman 在 PNAS 中的合着研究。 (Newman 2004),在图6中,每对节点(即作者)由不同粗细的边连接,代表每对作者之间的共同作者强度的强弱(即两者之间合作作品的数量) ,如下图所示:

From Newman (2004) 我已经查看了一些之前关于 R 的 igraph 和二分包的帖子(例如 this one ),但不认为二分网络及其应用程序符合我的目的。

我想知道 (1) 是否有任何现有的 R 包/应用程序可以帮助可视化网络中每个节点之间的连接强度,以及 (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 中交互式)

enter image description here

请告诉我这是否是您想要的。

关于r - 使用现有 R 应用程序/包可视化协作网络结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881410/

相关文章:

r - 图表上的多个 Y 轴未对齐

r - 更改 R 中栅格层的范围和分辨率以成功堆叠

IOS UIActivitViewController 自定义图标

iphone - 如何获取微博(weibo.com)消费者和秘钥?

r - 二分图投影错误(igraph,RStudio)

R:通过向量对矩阵进行索引,每行或列都有单独的索引

r - 如何使用 dplyr 参数化变量名

algorithm - stackoverflow 社区是无标度网络还是小世界网络?

r - R : igraph 中的 K 最短路径

r - 如何获取图中叶节点之间的所有可能路径?