I am trying to merge two nodes (call them 'V' and 'U') in a graph (G) into a single node (V).
G is a hyperlink network of 779 nodes (websites). Each edge represents a hyperlink. V and U are actually the same website, but unfortunately the webpages from that website have become split into two separate nodes. So I want to put them back together into a single node.
I have researched the contract.vertices function, but I cannot understand how to adapt it here.
Here are the attributes of my graph (G).
> G
IGRAPH D--- 779 3544 --
+ attr: Image File (v/c), Ringset (v/n), Country Code TLD (v/n), Generic TLD (v/n), Number of Pages (v/n), Categorical 1 (v/n), Categorical 2 (v/n),
Categorical 3 (v/n), id (v/c), label (v/c), Width (e/n)
I have two nodes that I want to merge together:
> V(g)$id[8]
[1] "http://www.police.uk/"
and
> V(g)$id[14]
[1] "http://police.uk/"
In total there are 779 nodes and 3544 edges in the graph.
I want these two nodes to become a single node in the graph (i.e. they will have the same "id"). All inlinks and outlinks from/to other nodes will now point only to this new single node.
All other attributes will remain the same, with the exception of Number of Pages
(the value of this will be the sum of both the nodes before they are merged).
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…