我是R begginer,这个问题可能看起来很幼稚,但是我尝试根据人群之间的家庭关系建立一个网络。我正在使用R包igraph。
准备数据后,我将结束这种数据框
Source Target Distance
Actr22510 Actr22509 1
Actr22511 Actr22509 1
Actr22509 Actr22510 1
Actr22511 Actr22510 1
Actr57033 Actr22510 1
Actr22509 Actr22511 1
我试图以此为基础构建的网络是非定向的。在这种情况下,Actr22510-Actr22509和Actr22509-Actr22510这两个行是相同的。我不需要它们都出现在我的数据框中。
是否可以删除这些镜像线?
非常感谢。
最佳答案
如果最终目标是创建无向igraph对象,则可能根本不需要删除这些行。只是:
library(igraph)
# Create an undirected graph, with edges between "Source" and "Target"
# Distance is kept as an edge attribute.
g <- graph.data.frame(df, directed=FALSE)
# Remove multiple edges (originally created from "mirror" lines)
g <- simplify(g, remove.multiple=TRUE, remove.loops=FALSE, edge.attr.comb="first")