R 快速贪心图对象

R 快速贪心图对象,r,igraph,R,Igraph,因此,我在csv文件中读取了我的网络数据,并通过执行以下操作将其转换为图形对象 g = read.csv"somefile.csv", header = FALSE) G = graph.data.frame(g,directed=FALSE) fc = cluster_fast_greedy(G) Error in cluster_fast_greedy(G) : At fast_community.c:639 : fast-greedy community finding works o

因此,我在csv文件中读取了我的网络数据,并通过执行以下操作将其转换为图形对象

g = read.csv"somefile.csv", header = FALSE)
G = graph.data.frame(g,directed=FALSE)
fc = cluster_fast_greedy(G)

Error in cluster_fast_greedy(G) : 
At fast_community.c:639 : fast-greedy community finding works only on graphs 
without multiple edges, Invalid value
非常有趣的是,我尝试直接加载graphml版本,并且可以毫无错误地运行
fast greedy
函数


我的问题是,如果我仅限于csv文件,如何在其上运行快速贪婪函数?

正如错误消息所说

快速贪婪社区查找仅适用于没有多条边的图

但您可以使用
simplify
功能删除多条边。 这里有一个例子。首先,我创建了一个具有多条边的图-在这条边上
fastgreedy.community
失败。但经过简化后,它就可以工作了

set.seed(1234)
g = erdos.renyi.game(12, 0.3)
g = add_edges(g, c(1,5, 7,10))
fastgreedy.community(g)
Error in .Call("R_igraph_community_fastgreedy", graph, as.logical(merges),  : 
  At fast_community.c:553 : fast-greedy community finding works 
  only on graphs without multiple edges, Invalid value

g = simplify(g)
fastgreedy.community(g)
IGRAPH clustering fast greedy, groups: 2, mod: 0.26
+ groups:
  $`1`
  [1]  1  3  4  5  9 10 11

  $`2`
  [1]  2  6  7  8 12

这就解决了问题。但是为什么我可以直接在csv版本失败的未修改的graphml数据上运行
fast\u greedy
。没有您的数据,很难诊断。你能举个小例子,把数据加到你的问题上吗?