【发布时间】: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 的样本,其长度与您的顶点数相同。