Building a data frame and matrix for citation network
Are the 1s and 0s only to indicate that the source matches the citation? If so, try this :

library(tidyverse); library(magrittr)    
cit.total %&gt;% 
mutate(score = 1) %&gt;% # 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