【问题标题】:Error using igraph command erdos.renyi.game使用 igraph 命令 erdos.renyi.game 时出错
【发布时间】:2016-04-08 18:15:14
【问题描述】:

我遇到的问题是,对于网络分析类的分配,我需要使用 R 的 igraph 包中的 erdos.renyi.game 命令。 该命令如下所示:

erdos.renyi.game(n, p.or.m, type=c("gnp", "gnm"),
                 directed = FALSE, loops = FALSE, ...)

不幸的是,无论我为 n 或 m 填写什么(我需要 m)、类型或定向,我总是得到同样的错误:

.Call("R_igraph_erdos_renyi_game", as.numeric(n), as.numeric(type1), : 在 games.c:585 : 给出的概率无效, 无效值

课堂上我周围的人使用与我完全相同的代码,并且对他们来说它有效。所以有人可以帮我解决这个问题,因为我不太清楚发生了什么,而且老师也不明白吗?

【问题讨论】:

标签: r igraph


【解决方案1】:

我猜你传递给erdos.renyi.game 的第二个值不是01 之间的数值:

library(igraph)
par(mfrow=c(1,3))
plot(erdos.renyi.game(10, p=1))
plot(erdos.renyi.game(10, p=.5))
plot(erdos.renyi.game(10, p=0))

erdos.renyi.game(10, p=10)
# Error in .Call("R_igraph_erdos_renyi_game", as.numeric(n), as.numeric(type1),  : 
#   At games.c:585 : Invalid probability given, Invalid value

例如,10 大于 1,因此不是有效概​​率。

【讨论】:

  • 函数有点混乱。我刚刚读到您需要m,而不是p - 在这种情况下,您必须更改type 参数:g <- erdos.renyi.game(10, p.or.m=2, type="gnm")2 是所需边的数量。
猜你喜欢
  • 1970-01-01
  • 2016-01-02
  • 2019-01-12
  • 2022-01-11
  • 1970-01-01
  • 2018-01-03
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多