Это действительно сводится к тому, что ваш комфортный уровень. Тем не менее, igraph - это, прежде всего, библиотека C (вы можете просматривать весь исходный код на sourceforge ), поэтому наиболее логичным способом его расширения является, вероятно, C. вызовите связанную функцию 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")
}
Вот существующий исходный код центральности .