3

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

我该如何开始呢?

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

4

1 回答 1

4

这真的归结为你的舒适水平。也就是说,igraph 主要是一个 C 库(您可以浏览 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")
}

这是现有的中心性源代码

于 2009-11-30T20:54:38.633 回答