请考虑以下内容
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访问特定顶点,例如id < - c("1","2","A","B")
。比如我想要访问第三个顶点-最初被标识为"A"。是否有办法通过类似下面的方式访问该顶点:V(g)$id == "A"
有没有办法从name
获取id
?也就是说,如果我运行
which(V(g)$name == "Peter")
我得到了数字3
。如何获取A
而不是它?
V(g)$name
是Peter
,我想找到相应的符号名称(A)
。如果我执行which(V(g)$name == "Peter"
,我会得到索引(3),而不是符号名称(A)。 (我更新了我的问题) - CptNemoname
和id
是生成数据框中的不同向量。) - CptNemoname
作为符号ID。您仍然可以使用match
,并使用结果索引id
:id[match("Peter", V(g)$name)]
。 - Gabor Csardias.numeric(V(g)["Peter"]
也可以以矢量方式运行,以便快速给出所有ID,即as.numeric(V(g)[name]
。 - nate