构建引文网络以在 R 中进行分析

数据挖掘 r 社会网络分析 数据格式
2021-09-18 04:03:45

我正在我们的一个国家服务学院从事网络分析项目,我需要一点帮助。

作为起点,我们正在研究我们使用关键字“网络分析”构建的引文网络,仅用于 Web of Science 中的同行评议文章。我们选取了前 50 个结果,并查看了被引用的文章并建立了引文网络。它以 Bibtex、制表符分隔、HTML、纯文本、尾注和其他一些格式输出信息。

这是我的问题:

  • 创建引文网络的最佳方法是什么?

我们有这些格式,但它还不能使用。理想情况下,我们将有一个矩阵,其中 x 和 y 上的文章名称以及连接的二进制数。 样本数据

3个回答

我不明白你是想建立一个相互引用的作者网络,还是一个引用其他论文的论文网络(这将是一个更稀疏的网络,因为共同作者关系不会显示为边缘)。

我会遵循与此类似的策略(在我的脑海中):

  1. 为您的论文分配 ID
  2. 构建 2 个 csv 文件:papers.csv、citations.csv
  3. 读入 2-col csv 文件“paper.csv”作为两列数据框: col1: paper_id, col2: title
  4. 读入 2-col csv 文件“citations.csv”作为两列数据框:col1:paper_id,col2:cites_id,

使用 R 的igraph包,您可以使用 (pseudocode) 构建网络 pg (for paper_graph)

pg <- igraph::graph_from_data_frame(citations)

然后将“顶点属性”分配给网络中的节点:

pg <- set_vertex_attribute(pg, "title", value= papers) 
# same as:  V(pg)$title <- papers$title

(可能还有许多其他属性)

然后您可以使用 igraph 的许多功能(~200)来分析网络。

对于可视化,您绘制 ids,并使用图表类型,当您将鼠标移到/单击节点符号(仅使用 id 标记以节省屏幕空间)时,该类型会为您提供标题。您可以使用其他设计元素,例如按发布年份为节点着色)。

从数据中解析一个边缘列表,将其加载到具有两列(源、目标)的数据框中,然后将其提供给 igraph::graph_from_data_frame

如果我理解正确,显示的矩阵(快照)实际上是手动生成的。我是对的吗?,如果是,那么您所做的过程是正确的。为了生成图表/社交网络,您需要将数据转换为源和边缘(如果可能,也可以使用权重,但不是强制性的)。我想你已经准备好了这种格式,我的意思是你说x and y的是/单词和边缘作为连接(0或1)。

如果考虑到数据已经准备好了,那么下一个问题是

  1. 您是否只是在寻找可视化和获取洞察力?

    或者

  2. 您是否想对数据进行一些分析以查找社区并查看它们如何在自己内部分布/传播或确定哪个是关键参与者等。

现在回答问题 1,您有一个名为 Gephi 的工具,它可以为您提供有趣的可视化。例如,您可以看到Link可以使用 Tableau,使用 Tableau 和 R 做过类似的事情。

机场连接

关于问题 2,您可以在 R 中的igraph包下使用不同的算法并获得一些输出。使用不同的可视化工具从结果中获得洞察力。附加的链接让您了解 R 中可用于执行社区检测的不同算法。

最后要回答将数据制作成您显示的样本的问题,应该手动完成。只是让您知道,通常在任何分析项目的生命周期中,很可能大部分时间都花在数据准备阶段(30-50%的时间)只是为了确保数据准备就绪,忽略如果你以前知道的话。我的意思是,准备数据没有捷径/简单的路径。

请通过此链接,了解网络分析如何帮助我们获得良好的见解,但它与金融业有关。它可能会帮助您获得类似的见解。

链接将帮助您了解网络分析的范围。这个分析是由我的一位朋友在我们的课程学习期间完成的。他从分析中获得的洞察力让我非常开心。可能您也可以执行类似的操作。只是分享这个链接供您参考。