gpt4 book ai didi

r - R igraph中添加节点和删除指定边

转载 作者:行者123 更新时间:2023-12-02 04:30:54 26 4
gpt4 key购买 nike

我正在学习 R 中的 igraph,并且有一个关于如何向图中添加节点并通过指定其两个节点来删除边的问题。这是我的代码,用于创建一个包含 4 个节点和一些边的图。

g <- as.data.frame(cbind(matrix(c(1, 2, 1, 3, 1, 4, 3, 4, 2, 4), byrow = TRUE, ncol = 2), c(5.6, 2.7, 3.5, 1.8, 2.1)))
names(g) <- c("start", "end", "length")
g <- graph.data.frame(g, directed = FALSE)
plot(g)

enter image description here

这里length表示属性edge(边的长度)。我想向图中添加节点 5。该节点将位于 1 和 2 之间。现在边 1--2 的长度为 5.6。节点 5 与节点 1 的距离为 2.6,与节点 2 的距离为 3.0。我想添加这两条边(1--5 和 2--5)。我还需要通过告诉 R 删除节点 1 和节点 2 之间的边来删除 1--2 边。

有什么简单的方法可以做到这一点?谢谢。

最佳答案

类似于:

library(igraph)

g <- as.data.frame(cbind(matrix(c(1, 2, 1, 3, 1, 4, 3, 4, 2, 4),
byrow = TRUE, ncol = 2),
c(5.6, 2.7, 3.5, 1.8, 2.1)))
names(g) <- c("start", "end", "length")

g <- graph.data.frame(g, directed = FALSE)

# add node 5
g <- g + vertices(5)

# delete edge 1-2
g["1", "2"] <- NULL

# add new edges with length attribute
g <- g + edge("1", "5", attr=list(length=2.6))
g <- g + edge("2", "5", attr=list(length=1.3))

plot(g)

enter image description here

关于r - R igraph中添加节点和删除指定边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177304/

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