如何避免igraph中的图形联合名称冲突?

如何避免igraph中的图形联合名称冲突?,r,igraph,sna,R,Igraph,Sna,我正在尝试使用igraph中的graph.union函数将六个图合并为一个图 每个图都是有向图、命名图和二部图。每个图形都具有以下顶点和边属性: 名称(v/c)、类型(v/c)、标签(v/c)、id(v/c)、边缘类型(e/c)、时间戳(e/c) 但是,当我使用“graph.union”合并六个图时,它会创建以下顶点和边属性: 属性:类型1(v/c)、类型2(v/c)、类型3(v/c)、类型4(v/c)、类型5(v/c)、类型6(v/c)、标签1(v/c)、标签2(v/c), |标识3(v/c)

我正在尝试使用igraph中的
graph.union
函数将六个图合并为一个图

每个图都是有向图、命名图和二部图。每个图形都具有以下顶点和边属性:

名称(v/c)、类型(v/c)、标签(v/c)、id(v/c)、边缘类型(e/c)、时间戳(e/c)

但是,当我使用“graph.union”合并六个图时,它会创建以下顶点和边属性:

属性:类型1(v/c)、类型2(v/c)、类型3(v/c)、类型4(v/c)、类型5(v/c)、类型6(v/c)、标签1(v/c)、标签2(v/c), |标识3(v/c)、标识4(v/c)、标识5(v/c)、标识6(v/c)、标识1(v/c)、标识2(v/c)、标识3(v/c)、标识4(v/c)、标识5(v/c), |身份证6(v/c)、姓名(v/c)、身份证1(e/c)、身份证2(e/c)、身份证3(e/c)、身份证4(e/c)、身份证5(e/c), |edgeType_6(e/c)、时间戳_1(e/c)、时间戳_2(e/c)、时间戳_3(e/c)、时间戳_4(e/c)、时间戳_5(e/c), |时间戳6(e/c)

如何确保最终图形对象不会生成所有这些附加属性

谢谢


Tim

我认为不可能使用
graph.union
(来自文档:“union保留所有图形的属性。所有图形、顶点和边属性都复制到结果中。如果一个属性存在于多个图形中,并且会导致名称冲突,则通过添加后缀来重命名此属性:_1、_2等).


作为一种解决方法,您可以使用
作为数据帧(graph,what=“both”)
从六个图形中提取节点和边,相应地合并/绑定数据帧,然后使用
graph\u from\u data\u frame
。不确定这是否比删除额外的图形属性更费事。

您可以看到我的。我只为每个igraph对象添加了一个新属性。然后使用
union()
函数将图形联合起来,并恢复属性的原始值。

回复晚,但我再次遇到此问题,我可以确认您的解决方案有效。谢谢