这是一个示例:
df1 <- graph.data.frame(V1=c(1,1,2,2,3,4), V2=c(2,3,3,5,5,5))
g1 <- graph.data.frame(df1, directed=F)
df2 <- data.frame(V1=c(1,2,2,3,4), V2=c(3,3,5,5,5))
g2 <- graph.data.frame(df2, directed=F)
df3 <- data.frame(V1=c(1,2,3,4), V2=c(3,3,5,5))
g3 <- graph.data.frame(df3, directed=F)
df4 <- data.frame(V1=c(1,1,2,3), V2=c(2,3,4,5))
g4 <- graph.data.frame(df4, directed=F)
现在创建一个列表
mylist <- list(g1, g2, g3, g4)
现在寻找相交
res <- intersection(mylist, keep.all.vertices=FALSE)
但是我得到了这个奇怪的结果:
Error in useMethod(intersection): no applicable method for 'intersection' applied to an object of class list
值得赞赏的任何帮助,我正在使用igraph version 1.0.1
这似乎有点黑客,但是您可以获得所需的功能:
do.call(intersection, c(mylist, keep.all.vertices=FALSE))