Мне интересно, как вычислить некоторые показатели для каждого узла.igraph вычислить показатели для каждого узла и его сети
Для каждого вычислительного узла процента от мошеннических соединений для
- прямого узла (направленный)
- прямого узлом (неориентированного)
- сети дружбы от узла (направленного)
дружбы сеть с узла (неориентированный)
всего и каждого типа отношений.
Начало работы с igraph Я не знаю, как двигаться вперед, чтобы писать собственные функции обработки графа (т.е. не только применение степени, PageRank, ...). С нетерпением ждем некоторых предложений по решению этой задачи только с одним проходом над графиком.
Минимальный образец здесь
library(igraph)
id = c("a", "b", "c", "d", "e", "f", "g")
name = c("Alice", "Bob", "Charlie", "David", "Esther", "Fanny", "Gaby")
fraud = c(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)
verticeData <- data.frame(id, name, fraud)
verticeData
src <- c("a", "b", "c", "f", "e", "e", "d", "a")
dst <- c("b", "c", "b", "c", "f", "d", "a", "e")
relationship <-c("A", "B", "B", "B", "B", "A", "A", "A")
edgeData <- data.frame(src, dst, relationship)
edgeData
g <- graph_from_data_frame(edgeData, directed = TRUE, vertices = verticeData)
plot(g, vertex.color=V(g)$fraud)
# TODO compute metrics
У меня нет привилегий для перемещения, так буду делать вручную на основе комментария от https://stats.stackexchange.com/questions/256859/igraph-compute-metrics-for-each-node-and-its-network
Я вижу, так что я бы нужен 1 пропуск, чтобы получить число в, один для полустепени один для степеней каждого узла, а затем 2 больше (1x для «уровня мошенничества» на узел и 1x для дружеские сети, мошеннические подключения). Разве это не много проходов над графиком? есть ли возможность их комбинировать? –
Я думаю, что это будет сложно сделать за один проход. Вы можете перебирать поля и над функцией, чтобы сократить некоторые шаги (я добавлю это в ответ). – paqmo
Вы думаете, что графические ядра могут быть лучше подходят для решения этой проблемы? –