我打算使用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包中的函数很感兴趣,所以请帮助我找出为什么会出现这个错误,尽管它显然是一个图形对象。
谢谢!
发布于 2014-01-20 17:27:43
您似乎正在尝试使用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
https://stackoverflow.com/questions/21228884
复制相似问题