gpt4 book ai didi

r - 如何从图中取回顶点ID

转载 作者:行者123 更新时间:2023-12-03 14:45:38 25 4
gpt4 key购买 nike

请考虑以下

library(igraph)
id <- c("1","2","A","B")
name <- c("02 653245","03 4542342","Peter","Mary")
category <- c("digit","digit","char","char")
from <- c("1","1","2","A","A","B")
to <- c("2","A","A","B","1","2")

nodes <- cbind(id,name,category)
edges <- cbind(from,to)

g <- graph.data.frame(edges, directed=TRUE, vertices=nodes)

现在我想使用我用来从数据框 id <- c("1","2","A","B") 创建图的 id 访问图的特定顶点.

假设我想访问第三个顶点——最初用“A”标识。有没有办法用类似的东西访问顶点
V(g)$id == "A"

有没有办法获得 id来自 name ?也就是说,如果我跑
which(V(g)$name == "Peter")

我得到 3 .如何获取 A反而?

最佳答案

首先,igraph使用顶点属性name作为顶点的符号 id。我建议您将 ID 添加为 name并为其他属性使用另一个名称,例如realname .

但是,如果您使用符号名称,通常您不需要知道数字 id,因为所有函数也接受(嗯,它们应该)符号 id。例如。如果你想要顶点的度数Peter , 你可以说 degree(g, "Peter") .

如果您真的想要数字 id,您可以执行以下操作:

as.numeric(V(g)["Peter"])
# [1] 3
match("Peter", V(g)$name)
# [1] 3

如果您想访问 id来自 name在您的示例中,您可以只用结果索引该向量:
id[ match("Peter", V(g)$name) ]

关于r - 如何从图中取回顶点ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20209303/

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