3

igraphを使用して、できればを使用して、新しい中心性尺度を構築したいと考えていRます。

どうやってこれを始めますか?

たとえば、igraph C libraryまたは に追加したほうがよいでしょうR 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 に答える