如果您从 R 中使用 igraph,请使用此选项
each_edge {igraph} | R 文档 |
此函数可以与 rewire
一起使用。此方法以恒定的概率将边的端点均匀地随机重新连接到图中的一个新顶点。
each_edge(
prob,
loops = FALSE,
multiple = FALSE,
mode = c("all", "out", "in", "total")
)
prob |
重新连接的概率,一个介于零和一之间的实数。 |
循环 |
逻辑标量,指示是否允许在重新连接的图中存在环边。 |
multiple |
逻辑标量,指示生成的图中是否允许多重边。 |
模式 |
字符串,指定在有向图中重新连接哪些边的端点。“all” 重新连接两个端点,“in” 重新连接每个有向边的起点(尾部),“out” 重新连接每个有向边的终点(头部)。 对于无向图将被忽略。 |
请注意,此方法可能会创建具有多个和/或环边的图。
Gabor Csardi csardi.gabor@gmail.com
其他重新连接函数:keeping_degseq()
, rewire()
# Some random shortcuts shorten the distances on a lattice
g <- make_lattice(length = 100, dim = 1, nei = 5)
mean_distance(g)
g <- rewire(g, each_edge(prob = 0.05))
mean_distance(g)
# Rewiring the start of each directed edge preserves the in-degree distribution
# but not the out-degree distribution
g <- barabasi.game(1000)
g2 <- g %>% rewire(each_edge(mode="in", multiple=TRUE, prob=0.2))
degree(g, mode="in") == degree(g2, mode="in")