R 编程/网络分析
外观
< R 编程
本节为存根。 您可以通过 扩展它 来帮助维基教科书。 |
我们主要使用以下软件包来演示 R 中的网络分析:statnet、sna、igraph。但它们并非完整列表。有关完整列表,请参见 gR 任务视图,R 中的图形模型。
> # load the appropriate library
> library(igraph)
> # now create a few simple graphs
> # an undirected graph with 10 nodes and without any edge
> g1 <- graph.empty(10,directed=FALSE)
> # a directed graph with 10 nodes
> g2 <- graph.ring(10,directed=TRUE)
> # a complete undirected graph with 10 nodes
> g3 <- graph.full(10,directed=FALSE)
> # now get information about these graphs
> summary(g1)
> # g1 is an igraph object, U = Undirected, with 10 nodes and 0 edge
> IGRAPH U--- 10 0 --
> summary(g2)
> # g1 is an igraph object, D = Directed
> IGRAPH D--- 10 10 -- Ring graph
首先加载 igraph 包
library(igraph)
然后您可以选择您喜欢的格式。以下是作为边列表和邻接矩阵提供的数据示例。
边列表由一个两列矩阵形成,每行定义一条边。从第一列中的每个元素到第二列中的对应元素绘制一条边。使用 graph.edgelist()
函数导入您的数据。
# producing some random data in edge list form
el <- cbind(sample(1:10, 10), sample(1:10, 10))
# creating and plotting the graph from the edge list
gr <- graph.edgelist(el)
plot(gr)
邻接矩阵是一个 n × n 矩阵,包含 n 个顶点,其中每个条目 aij 表示从顶点 i 到顶点 j 的边数。要导入您的邻接矩阵,请使用 graph.adjacency()
函数。
# producing a random adjacency matrix
adj <- matrix(sample(0:1, 100, replace=T), 10, 10)
# creating and plottig the graph from the adjacency matrix
gr <- graph.adjacency(adj)
plot(gr)
- Statnet 网站 包含使用 R 进行网络分析的所有文档。
- Julien Barnier 的介绍(法语)
- 《统计软件期刊》#24 关于 R 中网络的专刊