如何在R中将一个图形边添加到另一个图形?

时间:2017-08-30 12:56:40

标签: r graph igraph

我正在使用R(v3.4.1)。 我有一个graphml的graphml文件:

g <-read.graph(file = "./proteinLC.graphml",format = "graphml")

我需要从图g获得10%的节点并将它们放到图m中。 我试着做这样的事情:

m <- add_edges(g, c(sample(1:length(E(g)), length(E(g))*0.1, replace = F)))

但是我收到了一个错误:

  

错误:在type_indexededgelist.c:272:无法添加边,无效的顶点id **

我做错了什么?

1 个答案:

答案 0 :(得分:1)

尽管有你的头衔,但我认为这样做的方法是添加边缘。相反,有一个内置函数可以从节点列表中获取子图。这是一个例子。

library(igraph)

## Build some test data
set.seed(2017)
G = erdos.renyi.game(200, 0.2)
plot(G)

## Too big,  want a sample
Samp = sample(V(G), 0.1*length(V(G)))
m = induced_subgraph(G, Samp)
plot(m)

Sampled graph