从igraph包中执行degree()时,“不是图形对象”错误

时间:2015-03-16 15:02:00

标签: r igraph

由于我需要标准化分数,我想在我使用degree()加载到R中的文本文件中获得的邻接矩阵上调用read.delim函数。使用sna包完全没问题。

当我跑步时

K3_T2_ACAD <- diag.remove(read.delim("K3_T2_ACAD.txt", header = TRUE, 
                                      sep = "\t", row.names = 1), remove.val=0)

然后

K3_T2_ACAD_indeg <- degree(K3_T2_ACAD, g=1, nodes=NULL, gmode="digraph", 
                           diag=FALSE, tmaxdev=FALSE, cmode="indegree")

它有效!

我尝试分离sna函数,因为我认为这是问题所在。但是,当我运行igraph degree()函数时,它不起作用:

K3_T2_ACAD_indeg2 <- degree(K3_T2_ACAD, mode ="in", loops = FALSE, normalized = TRUE)

返回

  

度数错误(K3_T2_ACAD,模式=&#34;在&#34;,循环= FALSE,归一化=   TRUE):不是图形对象

第一列和每行包含参与者代码。有可能,igraph无法使用,而sna可以吗?

1 个答案:

答案 0 :(得分:1)

sna包使用邻接矩阵,igraph不是。您需要创建一个igraph对象来处理。参见例如http://igraph.org/r/doc/aaa-igraph-package.html