作者简介: 本文作者系大学统计学专业教师,多年从事统计学的教学科研工作,在随机过程、统计推断、机器学习领域有深厚的理论积累与应用实践。
igraph是一套用于网络分析与可视化的r包,它以高效、便捷、使用简单的特点在网络分析研究中广泛采用。igraph可以在R环境下免费下载安装,目前也有Python实现的igraph. 本文将介绍如何使用igraph包进行基础的网络分析与可视化。
1. igraph 网络
首先,清除R环境里的所有对象后,加载igraph包。
# Remove all the objects we created so far.
rm(list = ls())
library(igraph)
1.1 产生一个网络
我们产生一个有3个结点的无向图。它的结点用1, 2, 3表示,边分别是1–>2, 2–>3, 3–>1.
g1 <- graph( edges=c(1,2, 2,3, 3, 1), n=3, directed=F )
# A simple plot of the network
plot(g1)
g1是一个igraph对象。现在,我们生成一个10结点的有向图。
g2 <- graph( edges=c(1,2, 2,3, 3, 1), n=10 )
plot(g2)
g3 <- graph( c("John", "Jim", "Jim", "Jill", "Jill", "John")) #