如何避免igraph中的图形联合名称冲突?
我正在尝试使用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)
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()
函数将图形联合起来,并恢复属性的原始值。回复晚,但我再次遇到此问题,我可以确认您的解决方案有效。谢谢