If I understand it correctly, the matrix which was shown(snapshot) was actually generated manually. I'm I correct?, If yes, then the process which you have done is right. For generating the Graphs/Social Network you need to transform the data into Source and Edges(Weights too if possible but not mandatory). I think you already have it ready in that format, by which I mean you where saying that both x and y
to be Source/words and Edges as connections (0 or 1).
If considering that the data is ready, then next question is
Are you looking just for Visualizing and deriving insights?
or
Do you want to do some analysis on the data to find communities and see
a how are they distributed/spread within themselves or determine which is a key player etc.
Now answer with respect to question-1, you have tool named Gephi, which can give you amusing visualizations. For example you can see the Link. Can use Tableau, have done something similar to this using Tableau and R.
With respect to question-2, you can use different algorithms under igraph package in R and get some output. Use different visualization tool for getting insights from the outcome. The link attached gives you idea about different algorithms available in R for performing community detection.
Finally to answer the question for making the data into the sample shown by you, should be done manually. Just to let you know, generally in the life-cycle of any analytics project, It is very likely to spend most of the time in Data Preparation phase(30-50% of time) just to make sure that the data is ready, ignore this if you know this before. I mean, there is no shortcut/easy path for for preparing the data.
Please go through this Link, to know how network analysis would help us in getting good insights but it is respective to finance industry. It might help you to derive similar insights.
This Link, would help you to understand the scope of Network Analysis. This analysis was done by one of my friend during our course work. I was really amused by the insight which he could derive from the analysis. Probably you could also perform something similar. Just sharing this link for your reference.
articlename, source1, source2, source3,..
, you could read in the data and group using each source as a key, generating an output of{'source1':['article1', 'article2']..}
: preferably using Python, if you are open to using a language other than R. From there, you could graph the connections using Python tools such asmatplotlib
orNetworkX
. If possible, could you post a sample of your article and citation data? $\endgroup$