首页 > 解决方案 > 这个错误是什么意思“order(vertex_attr(g, measure), reduction = TRUE):argument 1 is not a vector”在R中?

问题描述

我正在尝试计算鲁棒性,这是一种使用 R(脑图包)的图论度量。

Robustness = robustness(my_networkgraph, type = c("vertex"),  measure = ("btwn.cent"))

当我使用上述稳健性函数时,出现以下错误:

顺序错误(vertex_attr(g,measure),递减 = TRUE):参数 1 不是向量

知道吗,我在这里做错了什么?

我的网络是一个矩阵,已转换为 igraph 对象并计算了鲁棒性。

我的网络作为矩阵:

mynetwork <- matrix(c(0, 1, 0, 1, 0, 0, 0, 0, 
              1, 0, 1, 0, 0, 0, 0, 0, 
              0, 1, 0, 0, 0, 0, 0, 0, 
              1, 0, 0, 0, 0, 1, 0, 0, 
              0, 0, 0, 0, 0, 1, 0, 0, 
              0, 0, 0, 1, 1, 0, 1, 1, 
              0, 0, 0, 0, 0, 1, 0, 0, 
              0, 0, 0, 0, 0, 1, 0, 0), nrow = 8)

使用以下代码将此矩阵转换为 igraph:

my_networkgraph <-graph_from_adjacency_matrix(mynetwork, mode = c("undirected"),weighted = NULL, diag = TRUE,   add.colnames = NULL, add.rownames = NA)

请帮助我理解上述错误

谢谢

普里亚

标签: rgraph-theoryrobustness

解决方案


上述函数中存在错误。要运行健壮性代码,您需要为网络提供顶点属性: V(network)$degree <- degree(network) V(network)$btwn.cent <- centr_betw(network)$res


推荐阅读