将非连接顶点添加到 igraph

Add non connected vertices to igraph

我有一个边列表,例如:df:

sample1    sample2
sample2    sample3
sample1    sample3

我有另外 2 个样本,sample4 和 sample5,它们与任何其他顶点都没有连接。

样本的完整列表保存在单独的数据框中,例如 df2:

sample1
sample2
sample3
sample4
sample5

如何添加这些未连接的边,以便在我的 igraph 中显示(并包含在网络分析中?)

这其实很简单。您可以使用函数 graph_from_data_frame 来构建您的网络,我假设您知道。

作为 vertices 参数,您可以包含所需的所有相关节点(例如 sample1 ... 到 sample5),作为 d 参数(称为 de edges)边列表在一列(名为 from)中设置起点顶点,在另一列(名为 to)中设置目标顶点。

"vertices"的例子(下面我称之为"nodes")dataframe

id
sample1
sample2
sample3

"edge" 数据帧示例

from to
sample1 sample2

您可以使用:

require("igraph")
net = graph_from_data_frame(d=edge, vertices=nodes, directed=FALSE)
plot ( net )

比如。正如您在示例中看到的,顶点 1 和 2 相连,而顶点 3 独立。

请让我向您推荐本教程:http://kateto.net/networks-r-igraph