Здесь вы сможете найти (грязновато) трюк использовать linkcomm
пакет с igraph
объектов. Трудность состоит в том, что linkcomm
использует пакет igraph0
, и он непосредственно использует поля объектов igraph
, и это не. Их подход работает с пакетом igraph0
, но он не с пакетом igraph
, потому что igraph
определяет оператор индексации [[
для графиков графиков.
В любом случае, следующее просто перезаписывает функцию из пакета linkcomm
. Он работает с пакетом версии 1.0-6 (2011-05-27), и он почти наверняка не будет работать с какой-либо другой версией. Правильное исправление будет обновлять пакет linkcomm
, его автором.
library(linkcomm)
# This will result a long warning about masked objects, because igraph
# defines almost all names igraph0 defines, and linkcomm loads igraph0.
# But we are fine if we load igraph after linkcomm, because by default
# the igraph functions will be used
library(igraph)
# Modify the function from the linkcomm package, we create a new
# function called 'lc'
lc <- as.list(getLinkCommunities)
lc[[11]][[10]][[3]] <- call("get.edgelist", quote(x), names=FALSE)
lc <- as.function(lc)
# Get some test data
karate <- nexus.get("karate")
# Use the newly defined 'lc' function on the test data
karcomm <- lc(get.data.frame(karate), check.duplicates=FALSE)
Что вы имеете в виду, но он не может принимать igraph сети? У вас есть играф, и вы хотите применить к нему функции LinkComm? Из вашего вопроса неясно, что у вас есть входы? что вы пытаетесь получить? что вы пробовали? – agstudy
yest Agstudy, это верно. он не может принимать графические графики. – Moe
право? На что? Я задаю вам несколько вопросов, чтобы прояснить ваш первый вопрос ... Очевидно, вы не понимаете. Вопрос в том, что это необходимо, необходимо уточнить, поэтому у вас нет ответа через 4 часа. – agstudy