为引文网络构建数据框和矩阵

数据挖掘 r 数据集
2022-03-12 09:01:41

我有一个关于如何创建一个矩阵的问题,该矩阵将采用下面定义的列表并使它们成为列和行的条目。我的数据涉及两个列表:一个列出原始来源(或论文),另一个列出这些来源的个人引用。

代码在 RStudio 中完成。

我的原始数据集示例如下所示:

在此处输入图像描述

 # List all the sources
 sources.vertices.levels <- cit.total$Sources
 sources.vertices <- (as.character(sources.vertices.levels))

 citation.edges.levels <- cit.total$Citations
 citation.edges <- (as.character(citation.edges.levels))

 # Break up the factors into character lists
 list.sources <- levels(sources.vertices.levels)
 list.citations <- levels(citation.edges.levels)

下面我创建了一个空矩阵(50X1497)。我想让行名是每个单独的来源,而列是每个单独的引用。

我也迷失了如何创建一个二进制矩阵来匹配每个单独的来源(从行)到单独的引用(到列)。

 # Building an aggregate matrix
 matrix.network <- matrix(cit.citations,ncol=1497, nrow=50)

我想做什么样的矩阵的一个例子如下:

在此处输入图像描述

1个回答

1 和 0 是否仅表示来源与引文匹配?如果是这样,试试这个:

library(tidyverse); library(magrittr)    
cit.total %>% 
mutate(score = 1) %>% # so that all 'matches' in your original data frame are tagged '1'
spread("Citations", "score", fill = 0) # each source and citation pair gets a number, 1 if the match exists, 0 if it doesn't