igraph库出错

时间:2014-08-22 10:22:15

标签: r graph igraph

我正在尝试使用以下R库:iSubpathwayMiner,它需要以下软件包: graphigraphRBGL。 在运行字符串

graphList<-getMetabolicECECGraph()

您可以在插图中找到以下我无法管理的错误:

#    Error in if (get.vertex.attribute(graphList[[i]], "type", j - 1) %in%  : 
#      argument is of length zero

任何人都可以帮助我至少尝试理解它意味着什么以及如何管理它?

提前谢谢

最佳

1 个答案:

答案 0 :(得分:1)

错误是if的参数是NULL。这很可能是因为您的图表没有名为type的属性。这些库存在错误和其他未解决的冲突,因此无法对其他任何内容进行规则。

您可以在R会话中运行此示例

library(igraph)
g <- graph.ring(10)
g <- set.graph.attribute(g, "name", "RING")
g <- set.vertex.attribute(g, "color", value=c("red", "green"))

get.vertex.attribute(g, "color")
#>[1] "red"   "green" "red"   "green" "red"   "green" "red"   "green" "red"   "green"

#Asking for an attribute that does not exist will return NULL
get.vertex.attribute(g, "day")
#>NULL

#And 
if(NULL){print(1)}
#>Error in if (NULL) { : argument is of length zero

#so
if(get.vertex.attribute(g, "day") %in% c("Mon","Tue","Wed")){print("doSomething")}
#>Error in if (get.vertex.attribute(g, "day") %in% c("Mon", "Tue", "Wed")) { : 
#argument is of length zero

一般情况下,您应事先使用if之类的内容检查NULL语句的参数是否为is.null()