通过将帧中的 ID 与顶点名称匹配来向顶点添加标签?
Add labels to vertex by matching ID in a frame to the vertex names?
我有一个 igraph,其中顶点只有它们的 ID (V(g)$name
)。我还有一个 data.frame 这种格式,将每个 ID 与名称相匹配:
ID name
1 Ann
2 Bob
3 Carl
...
我想通过匹配 ID 将名称添加到顶点 (V(g)$label
)。该图没有名称框架具有的所有 ID。
我认为它应该相当简单,但由于我是 R 的新手,我不太确定如何去做。
正如评论中所建议的那样,match
可以解决问题:
df <- read.table(header=T, text="
ID name
1 Ann
2 Bob
3 Carl
4 Linda
5 Peter")
library(igraph)
g <- sample_pa(4)
V(g)$label <- as.character(df$name[match(V(g), df$ID)])
我有一个 igraph,其中顶点只有它们的 ID (V(g)$name
)。我还有一个 data.frame 这种格式,将每个 ID 与名称相匹配:
ID name
1 Ann
2 Bob
3 Carl
...
我想通过匹配 ID 将名称添加到顶点 (V(g)$label
)。该图没有名称框架具有的所有 ID。
我认为它应该相当简单,但由于我是 R 的新手,我不太确定如何去做。
正如评论中所建议的那样,match
可以解决问题:
df <- read.table(header=T, text="
ID name
1 Ann
2 Bob
3 Carl
4 Linda
5 Peter")
library(igraph)
g <- sample_pa(4)
V(g)$label <- as.character(df$name[match(V(g), df$ID)])