R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

knn {igraph}R 文档

平均最近邻居度

描述

计算给定顶点的平均最近邻居度,以及顶点度的函数中的相同量

用法

knn(
  graph,
  vids = V(graph),
  mode = c("all", "out", "in", "total"),
  neighbor.degree.mode = c("all", "out", "in", "total"),
  weights = NULL
)

参数

输入图。它可以是有向的。

vids

为其执行计算的顶点。 通常它包括所有顶点。请注意,如果此处未给出所有顶点,则 ‘knn’ 和 ‘knnk’ 都将仅基于给定的顶点进行计算。

模式

字符常量,指示在有向图中要考虑的邻居类型。 out 考虑出邻居, in 考虑入邻居,而 all 忽略边方向。

neighbor.degree.mode

在有向图中要平均的度类型。 out 平均出度, in 平均入度,而 all 忽略度计算的边方向。

weights

权重向量。如果图具有 weight 边属性,则默认使用此属性。如果给出了此参数,则使用顶点强度 (参见 strength) 代替顶点度。但请注意, knnk 仍然是顶点度的函数。权重用于计算加权度(也称为 strength),而不是度。

详细信息

请注意,对于零度顶点,‘knn’ 中的答案是 NaN(零除以零),如果给定的度在网络中从未出现,则 ‘knnk’ 也是如此。

加权版本计算邻居度的加权平均值,如下所示

k_nn_u = 1/s_u sum_v w_uv k_v,

其中 s_u = sum_v w_uv 是顶点 u 的入射边权重的总和,即其强度。 总和运行在顶点 u 的邻居 v 上,如 mode 所示。 w_uv 表示加权邻接矩阵, k_v 是邻居的度,由 neighbor_degree_mode 指定。

一个包含两个成员的列表

knn

一个数值向量,给出 vids 中所有顶点的平均最近邻居度。

knnk

一个数值向量,其长度是图中最大的(总)顶点度。 第一个元素是度为 1 的顶点的平均最近邻居度,依此类推。

作者

Gabor Csardi csardi.gabor@gmail.com

参考

Alain Barrat, Marc Barthelemy, Romualdo Pastor-Satorras, Alessandro Vespignani: The architecture of complex weighted networks, Proc. Natl. Acad. Sci. USA 101, 3747 (2004)

示例


# Some trivial ones
g <- make_ring(10)
knn(g)
g2 <- make_star(10)
knn(g2)

# A scale-free one, try to plot 'knnk'
g3 <- sample_pa(1000, m=5)
knn(g3)

# A random graph
g4 <- sample_gnp(1000, p=5/1000)
knn(g4)

# A weighted graph
g5 <- make_star(10)
E(g5)$weight <- seq(ecount(g5))
knn(g5)

[包 igraph 版本 1.3.5 索引]