R语言 社会网络分析
社会网络分析(SNA)是通过使用图论来探索或检查社会结构的过程。它用于测量和分析网络的结构属性。它有助于测量团体、组织和其他连接实体之间的关系和流动。
在我们开始之前,让我们看看一些网络分析的术语
- 网络被表示为一个图形,它显示了每个顶点(或节点)和其邻居之间的链接(如果有的话)。
- 表示顶点之间联系的线被称为边。
- 一组顶点,如果通过图上的边可以相互到达,则称为一个组件。
- 从一个顶点到另一个顶点的沿线被称为路径。
为了进行网络分析,需要使用以下软件
- R软件
- 软件包。
- igraph
- sna (社会网络分析)
社会网络分析中使用的函数
- library() function
library()函数加载和附加附加包。
语法:
- make_full_graph() function
该函数用于创建一个完整的图形。
语法:
- make_ring() function
环是一个一维的格子,它可以创建任意维度的格子,周期性或非周期性的格子。
语法:
- make_star() function
这个函数创建了一个星形图,其中每个顶点都与中心顶点相连,而没有其他顶点。
语法:
- sample_gnp() function
这是一个简单的模型,每个可能的边都是以相同的恒定概率创建的。
语法:
- plot() function
该函数用于在活动图形窗口中绘制给定的图形。
语法:
创建图表样本
完整的图表
语法
参数
- 顶点的数量。
- directed = TRUE/FALSE 是否创建一个有向图。
- loops = TRUE/FALSE 是否在图中添加自循环。
例子
输出:
环形图
环形图是一个一维网格,是make_lattice函数的一个特例。
语法
参数
- 顶点的数量。
- directed =TRUE/FALSE 是否创建一个有向图。
- mutual =TRUE/FALSE 有向的边是否是相互的。在无向图中,它被忽略。
- circular =TRUE/FALSE 是否创建圆形环。
例子
输出:
星形图
星形图是指每一个顶点都与中心顶点相连,而没有其他顶点。
语法
参数
- 顶点的数量
- center = 中心顶点的标识
- 模式 = 它定义了边的方向,即进/出/互换/不定向。
- in – 边缘指向中心。
- out – 边缘从中心指向。
- mutual – 用相互的边创建一个有向星形图。
- undirected – 边缘是不定向的。
例子
输出:
生成随机图(gnp)
下面的图形是以给定的常数概率随机生成的,可以创建一条边。
语法
参数
- 图中顶点的数量
- 在随机顶点之间画一条边的概率
- 有向 = FALSE/TRUE
- 循环 = FALSE/TRUE
例子
同样地,你可以通过改变参数来尝试不同的图形,如下所示。
输出:
分析图形
图的连接性
图中顶点的基本衡量标准之一是它们与其他顶点有多少联系。这个衡量标准可以是连接数占总的可能连接数的比例,也叫密度。
现在让我们来找出随机图中每个节点/顶点的程度。
语法
程度函数是用来找出每个顶点所连接的顶点数量。
例子
输出
图的间隙度
在社会网络中,interness被定义为网络成员群体之间的桥梁。计算间性的一种方法是计算每个顶点的间性。一般来说,与一个顶点相关的间性得分越高,对网络的控制就越强。
语法
betweenness()函数的定义是经过一个顶点或一条边的最短路径的数量。
例子
输出
网络密度
网络的密度被定义为连接数与可能连接数的总和。一个完整的图的密度=1,而其他网络可以有一个十进制的值。
语法
它是边的数量与可能的边的总数的比率。
例子
输出
识别网络中的悬崖
悬崖可以被定义为一组顶点,其中所有可能的链接都存在。
语法
这个函数可以找到无定向图中所有最大或最大的悬崖。
例子
输出
寻找图的组成部分
一组相连的网络顶点被称为一个组件。因此,一个有可能有多个不相互连接的组件。
语法
这将计算出一个图的强连接或弱连接部分。
例子
输出
图上的随机行走
现在让我们使用random_walk函数生成一个随机图并在其中行走。
语法
这个函数允许我们从start_node开始做随机行走,直到Number_of_steps,如果卡住或不能前进,则返回或给出错误。
例子
输出
网络的可视化
改变边和顶的颜色
现在我们将尝试学习如何修改顶点和边的颜色,使图形更加丰富多彩。
我们将尝试用这个函数来设置顶点的一个特定属性值。
这将是一个类似的函数,但不同的是它设置了边缘的属性。
写出一个图形
使用下面的函数,你可以将图形的边缘列表保存到你的计算机上,并指定路径。
设置工作目录功能允许你设置你想要的工作目录。
注意: 在设置路径时,所有的反斜线应改为正斜线。
这个函数返回你当前使用的dir路径。
这个功能允许你以特定的格式导出图形,如 edgelist/pajek/ncol/lgl/graphml/dimacs/gml 等。