我有一组文章,我从中提取了关键字。我在R中得到了一个矩阵,其中文章为列,关键字为行,每篇文章之间的值+关键字是该文章中该关键字的出现次数。我希望将结果可视化为文章之间的网络图,根据共享关键字的数量显示这些文章之间的联系。
这是我所指的矩阵的一个例子。
keywords article1 article2 article3
key1 0 2 1
key2 0 1 0
key3 1 1 1
我还尝试使用R创建一个距离矩阵,如下所示。
article.dist <- dist(mt,method = "binary")
article.mt <- as.matrix(article.dist)
产生了如下的距离矩阵
keywords key1 key2 key3
key1 0 0.3 0.6
key2 0.3 0 0.3
key3 0.6 0.3 0
我希望将其视为一个网络,其中包含文章作为气泡,节点作为连接文章之间的关键字。
非常感谢任何帮助。
答案 0 :(得分:0)
我不完全确定你想要的图表类型。但是,如果您尝试让网络显示与关键字在文章中出现的次数成比例的文章,关键字和行,则下面是使用network包的简单解决方案(免责声明,我是维护者)。
上面示例的示例数据结构
keywords<-structure(c(0,0,1,2,1,1,1,0,1), .Dim = c(3L, 3L), .Dimnames=list(c('key1','key2','key3'),c('article1','article2','article3')))
> keywords
article1 article2 article3
key1 0 2 1
key2 0 1 0
key3 1 1 1
将矩阵转换为具有名为&#39; count&#39;
的边缘属性的二分网络对象> library(network)
> keynet<-as.network(keywords,matrix.type='bipartite',ignore.eval=FALSE,names.eval='count')
做一个非常基本的网络情节
> plot(keynet,displaylabels=TRUE,edge.lwd='count')
有关自定义绘图的参数列表,请查看?plot.network
帮助页面。