gpt4 book ai didi

r - 根据度将属性添加到边缘列表

转载 作者:行者123 更新时间:2023-12-01 13:40:12 24 4
gpt4 key购买 nike

我有来自 igraph (g) 的以下边:

from    to
1 3
1 5
2 1
2 3
3 1
4 5
4 1

我用过:

g<- make_empty_graph(n=5) %>%
add_edges(c(1,3, 1,5, 2,1, 2,3, 3,1, 4,5, 4,1)) %>%
set_edge_attr("color", value = "red")
E(g)[[]]
plot(g)

我计算了入度

g_in <- degree(g, mode='in")
g_in
[1] 3 0 2 0 2

我想创建一个结合 g 和 g_in 的数据框,如下所示:

from to in_degree
1 3 2
1 5 2
2 1 3
2 3 2
3 1 3
4 5 2
4 1 3

即仅结合“到节点”的in_degree。我该怎么做?

最佳答案

这是一种方法:

data$in_degree <- setNames(degree(g, mode = "in"), V(g))[data$to]
# from to in_degree
# 1 1 3 2
# 2 1 5 2
# 3 2 1 3
# 4 2 3 2
# 5 3 1 3
# 6 4 5 2
# 7 4 1 3

我首先创建从顶点到它们的入度的映射,

setNames(degree(g, mode = "in"), V(g))
# 1 2 3 4 5
# 3 0 2 0 2

然后将其应用于data$to

关于r - 根据度将属性添加到边缘列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49325759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com