【问题标题】:igraph making randomly generated node attribute values?igraph 制作随机生成的节点属性值?
【发布时间】:2017-11-09 03:42:07
【问题描述】:

我有如下代码:

library(igraph)
g <- make_empty_graph (100) %>%
  set_vertex_attr("a", value = 0) 
V(g)$a <- sample(c(0, 1), replace = TRUE, prob = c(0.1, 0.9))
V(g)$a

我想随机化具有特定权重的“a”的节点属性值。但是,如果我运行上面的程序,“a”的所有值都会变为 1,偶尔会有例外情况,即值在 1 和 0 之间交替。我该如何解决这个问题?

【问题讨论】:

  • 运行你的sample 行而不分配给你的顶点。您只生成 2 个号码,0 或 1,每个号码有 90% 的机会是 1。然后您使用这 2 个数字(几乎总是 1)来填写所有属性。
  • sample(c(0, 1), vcount(g), replace = TRUE, prob = c(0.1, 0.9)) 生成一个 0 和 1 的样本,其长度与您的顶点数相同。

标签: r igraph


【解决方案1】:

也许你应该使用runif(100, 0, 1)而不是sample(c(0, 1), replace = TRUE, prob = c(0.1, 0.9))runif样本均匀分布在从最小值到最大值的区间上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    相关资源
    最近更新 更多