网络可视化用于R中具有共享关键字的文章

时间:2014-08-11 20:03:41

标签: r networking matrix graph diagram

我有一组文章,我从中提取了关键字。我在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

我希望将其视为一个网络,其中包含文章作为气泡,节点作为连接文章之间的关键字。

非常感谢任何帮助。

1 个答案:

答案 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')

example of simple keword network plot

有关自定义绘图的参数列表,请查看?plot.network帮助页面。