R:向后移动"向后"重复行以构造edgeMatrix

时间:2014-09-25 16:04:02

标签: r matrix graph

我想使用 graph 包在R中创建无向图。 我想用

edge.matrix <- unique(edge.matrix, MARGIN = 2, drop=TRUE) mygraph <- ftM2graphNEL(edge.matrix, edgemode="directed")

但我收到错误消息

Error in .ftM2other(ft, W, V, edgemode, "graphNEL") : duplicate edges not allowed

问题是该函数看起来是偶数的镜像行,例如A, BB, A,所以我必须找到一种方法  删除“向后”相同的行。

一个例子:说我的矩阵是

A B C D B A

我想要

A B C D

C D B A

(抱歉布局,我还不太实际)。

天真的想法是写一个函数,它接受行matrix[i,],镜像它,检查矩阵matrix[i+1 : nrow(matrix), ]是否包含镜像行并可能删除它。不幸的是,计算时间将是~n!/ 2。我不认为即使我在剩下的矩阵中删除了第一个或下面的事件,也不会好多了,因为我的矩阵有大约30k行。

包有 duplicatedEdges 功能,但它不是我需要的。

有什么想法吗?任何建议都表示赞赏。

0 个答案:

没有答案