【问题标题】:Generating a random directed acyclic graph in R is showing loops and bidirections在 R 中生成随机有向无环图显示循环和双向
【发布时间】:2017-01-27 10:41:19
【问题描述】:

我正在使用 R 生成 DAG(有向无环图)。 使用以下代码,我生成了 Erdős–Rényi 图。

library(igraph)
aph <- erdos.renyi.game(12, 0.1, type=c("gnp", "gnm"),
                          directed = TRUE, loops = FALSE)

问题是即使它说

directed = TRUE ,`loops = FALSE`

代码仍在生成循环,并且图形未定向。 在图像1 中,顶点211 包含一个双向边。 同样在图像2 中有一个来自节点697 的循环。

如何解决这个问题并生成正确的 DAG?

【问题讨论】:

  • 嗨!该图是有向的,它可以只有一条从 A 到 B 的边和另一条从 B 到 A 的边。我会查一下循环 :) 你想要的结果是什么? DAG 对吧?
  • 一个有向图有向,即如果有一条从 A 到 B 的路径,那么它不应该是从 B 到 A 的路径。

标签: r graph


【解决方案1】:

要生成随机 DAG,您可以使用 pcalg 库

library(pcalg)
set.seed(101)
myDAG <- randomDAG(n = 20, prob= 0.2, lB = 0.1, uB = 1)
plot(myDAG)

【讨论】:

  • 我使用的是 Ubuntu 16.04,在这个环境中安装 pcalg 包时会出现一些错误。缺少 CRAN 中不可用的软件包。因此,它们必须以这种方式安装。请检查herehere
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
相关资源
最近更新 更多