题
我想使用 igraph
构建一个新的中心度量,最好是在 R
中。
我该如何开始?
例如,我是否可以更好地添加 igraph C库
或 R接口
?
解决方案
这真的归结为你的舒适程度。也就是说,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")
}
这是现有的中心源代码。
不隶属于 StackOverflow