gpt4 book ai didi

r - 将数据帧转换为 igraph 错误 : Duplicate vertex names

转载 作者:行者123 更新时间:2023-12-02 06:44:22 25 4
gpt4 key购买 nike

我知道可以直接从数据帧创建 igraph 图表。我已经尝试过这样做,但到目前为止不知何故失败了。

我有一个具有以下架构的 DF“myvertices”(id 和名称是唯一的):

id, name, feature_a, feature_b, feature_c

另一个 DF“myedges”具有以下架构:

id, from, to, feature_d, feature_e, feature_f

其中“from”和“to”包含来自“myvertices”的“id”。

基于这些,我尝试了以下方法:

g <- graph.data.frame(myedges, directed=TRUE, vertices=myvertices)

但结果如下:

Error in graph.data.frame(myedges, directed = T, vertices = myvertices) : Duplicate vertex names.

最佳答案

我想错误消息给出了一个很好的提示 - 看来你的顶点 id 之间有重复。例如:

library(igraph)

myvertices <- read.csv(stringsAsFactors=F, text="
id,name,feature_a,feature_b,feature_c
a,foo,1,2,3
b,bar,1,2,3
c,extra,1,2,3")

myedges <- read.csv(stringsAsFactors=F, text="
id,from,to,feature_d,feature_e,feature_f
1,a,b,1,2,3")

graph.data.frame(myedges[, -1], directed=TRUE, vertices=myvertices)
# IGRAPH DN-- 3 1 --
# + attr: name (v/c), feature_a (v/n), feature_b (v/n), feature_c (v/n), feature_d (e/n), feature_e (e/n), feature_f (e/n)
# + edge (vertex names):
# [1] foo->bar

myvertices$id[3] <- "a" # duplicate a
graph.data.frame(myedges[, -1], directed=TRUE, vertices=myvertices)
# Error in graph.data.frame(myedges[, -1], directed = TRUE, vertices = myvertices) :
# Duplicate vertex names

关于r - 将数据帧转换为 igraph 错误 : Duplicate vertex names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746653/

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