我打算使用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!
答案 0 :(得分:3)
您似乎正在尝试使用graph
包和igraph
包。用它创建的对象看起来不能用于另一个的函数。
igraph
个对象属于igraph
类
> g=graph.full(4)
> class(g)
[1] "igraph"
而您使用ug
创建的对象来自graph
包,因此是另一个类。
我自己会对此进行测试,但目前已将graph
软件包从CRAN中移除,我无法从档案中追逐它: