如何构建新的中心度量?

时间:2009-11-27 21:14:43

标签: r graph graph-algorithm igraph

我想使用igraph构建一个新的中心度量,最好是R

我该如何开始?

例如,我会更好地添加到igraph C libraryR interface吗?

1 个答案:

答案 0 :(得分:4)

这真的归结为你的舒适程度。也就是说,igraph主要是一个C库(你可以browse all the source code on sourceforge),所以最合乎逻辑的扩展方式可能就是C.例如,R中的closeness函数只调用相关的C函数:

> closeness
function (graph, v = V(graph), mode = c("all", "out", "in")) 
{
    if (!is.igraph(graph)) {
        stop("Not a graph object")
    }
    mode <- igraph.match.arg(mode)
    mode <- switch(mode, out = 1, `in` = 2, all = 3)
    on.exit(.Call("R_igraph_finalizer", PACKAGE = "igraph"))
    .Call("R_igraph_closeness", graph, as.igraph.vs(v), as.numeric(mode), 
        PACKAGE = "igraph")
}

这是the existing centrality sourcecode