0

所以我想针对随机网络评估同质性。这意味着我需要使用我感兴趣的属性创建一个随机网络。获取随机网络很容易,但我无法添加属性,因为随机网络没有我可以加入的任何东西......

gr = play_erdos_renyi(6, 0.3)

Attr = sample.int(3, 6, replace = TRUE

gr <- gr %>%
 activate(nodes) %>%
 join(Attr)

我想我可以先生成随机网络,然后将其吐到边缘列表中,然后将属性添加到边缘列表,然后使用 graph_from_data_frame 来获取网络,但感觉应该有一些更简单的方法来做到这一点。

4

1 回答 1

0

您可以简单地mutate将属性分配给新图表。

library(tidygraph)

set.seed(2021)

gr <- play_erdos_renyi(6, 0.3)

Attr <- sample.int(3, 6, replace = TRUE)

gr <- gr %>%
 activate(nodes) %>%
 mutate(attr = Attr)

gr
# # A tbl_graph: 6 nodes and 9 edges
# #
# # A directed simple graph with 1 component
# #
# # Node Data: 6 x 1 (active)
#    attr
#   <int>
# 1     2
# 2     2
# 3     1
# 4     2
# 5     3
# 6     2
# #
# # Edge Data: 9 x 2
#    from    to
#   <int> <int>
# 1     3     1
# 2     5     1
# 3     6     1
# # … with 6 more rows
于 2021-01-25T10:35:23.780 回答