|  | 
 
| - Q0 ]2 z5 U( b<p>如何将存储在磁盘上的邻接矩阵输入到 R 程序中,是进行社交网络分析的起点。在前面的章节中已经介绍了基本的数据结构以及代码结构,本章将会面对一个实质性问题,学习如何导入一个图以及计算图的一些属性。</p>0 R) s3 D  T8 i* Y
 <ul>; t! ~6 w2 O& P* p
 <li><a  href="https://www.cnblogs.com/zhanggaoxing/p/15870841.html">图的文件表示</a></li>
 / Z: c  t; R, e$ Y5 l<li><a  href="https://www.cnblogs.com/zhanggaoxing/p/15870841.html">导入一个图</a></li>  k, h6 R  m. w# d
 <li><a  href="https://www.cnblogs.com/zhanggaoxing/p/15870841.html">生成人工网络</a></li>: m  z$ t9 k" p! s
 <li><a  href="https://www.cnblogs.com/zhanggaoxing/p/15870841.html">图的基本分析</a></li>9 S/ y! _) Z! a, z4 N
 </ul>7 J' k6 |! u$ E
 <h2 id="图的文件表示">图的文件表示</h2>  V; ^% }0 _+ c( W
 <p>在计算机中,最常见的两种表示图的基本结构是<strong>邻接矩阵</strong>和<strong>邻接表</strong>。以最简单的无权无向图为例,邻接矩阵中第 <span class="math inline">\(i\)</span> 行第 <span class="math inline">\(j\)</span> 列的元素 <span class="math inline">\(a_{ij}\)</span> 如果等于 1,则表示顶点 <span class="math inline">\(i\)</span> 和顶点 <span class="math inline">\(j\)</span> 之间有边,即邻接矩阵将所有节点之间的关系都表示出来。邻接表则是对顶点 <span class="math inline">\(i\)</span> 建立一个单链表,这个单链表由顶点 <span class="math inline">\(i\)</span> 的所有邻居节点构成,即邻接表只是把存在关系的节点表示出来。</p>
 ' M/ {6 S6 C) ?8 m3 \* X6 _<p>网络上许多公开的数据集更常使用<strong>三元组</strong>去表示一个图。下面是一个三元组的示例,以第一行的三元组 (1, 2, 1) 为例,它表示有一条从顶点 1 指向顶点 2 的边,并且该边的权重为 1。对于无权图而言,通常会省略三元组中的第三个元素。</p>: i1 y+ v. s  O0 q5 v2 R
 <pre><code class="language-text">1        2        1
 ' u5 K2 Q( s* i" ~1        3        -1
 2 _+ O5 I( n& A# z1 a# c" A2        3        -1
 0 J: F4 i1 v: y- p$ ]1        4        -1  f0 |3 A* L# v* |) o# E9 K
 3        4        1
 - M+ K7 {6 ]1 g0 X5 r. q</code></pre>
 " l6 w1 ^3 ?3 {+ z: d% q<div style="display: block; position: relative; border-radius: 8px; padding: 1rem; background-color: rgba(210, 249, 210, 1); color: rgba(9, 68, 9, 1); margin: 10px">& ]8 W6 L% H! @% G. L
 <p style="margin-top: 0; font-weight: bold">
 | 
 |