igraph“不是图形对象”

时间:2014-01-20 08:03:49

标签: r igraph

我打算使用igraph包在网络上获得一些统计数据。

model1 <- ug(~a:b, ~a:c:d,~b:c)
> model1
A graphNEL graph with undirected edges
Number of Nodes = 4 
Number of Edges = 5 

问题:使用功能:

cluster.distribution(model1)

返回

Error in cluster.distribution(model1) : Not a graph object.

现在,如果我应用该功能:

degree(model1)

我得到同样的错误:

Error in degree(model1) : Not a graph object

然而,如果我分离igraph包我得到:

> detach("package:igraph", unload=TRUE)
Warning message:
'igraph' namespace cannot be unloaded:
  namespace 'igraph' is imported by 'gRbase', 'gRain' so cannot be unloaded 
> degree(model1)
a b c d 
3 2 3 2

我认为这个问题与包裹有关,但我的R技能并没有达到我自己能够解决这个问题的程度。

> search()
 [1] ".GlobalEnv"       "package:gRain"    "package:grid"    
 [4] "package:gRbase"   "package:graph"    "tools:rstudio"   
 [7] "package:stats"    "package:utils"    "package:datasets"
 [10] "package:methods"  "Autoloads"        "package:base" 

我真的对使用igraph包中的函数感兴趣所以请帮我弄清楚为什么我得到这个错误,即使它显然是一个图形对象。

THX!

1 个答案:

答案 0 :(得分:3)

您似乎正在尝试使用graph包和igraph包。用它创建的对象看起来不能用于另一个的函数。

igraph个对象属于igraph

> g=graph.full(4)
> class(g)
[1] "igraph"

而您使用ug创建的对象来自graph包,因此是另一个类。

我自己会对此进行测试,但目前已将graph软件包从CRAN中移除,我无法从档案中追逐它:

http://cran.r-project.org/web/packages/graph/index.html