2014-02-12 1 views
3

У меня есть набор данных следующим образом:Расчет assortativity в igraph

set.seed(123) 
A = data.frame(rnorm(10),rnorm(10),rnorm(10),rnorm(10)) 

А затем использовали igraph пакет, чтобы сделать сеть из следующих действий:

inv<-cor(t(A)) 
inv[inv<0.5] <- 0 
inv[inv==1] <- 0 
g1 <- graph.adjacency(inv, mode = "undirected", diag=FALSE, weighted=TRUE) 

Теперь, чтобы вычислить assortativity coefficeint из g1 ,

assortativity (g1, types1, types2 = NULL, directed = TRUE) 

Мой вопрос сейчас в том, как мне установить «типы», говорится в документации, это вер текс. Что именно подразумевается под этим? Я хотел бы рассчитать ассортативность для любой 5 вершинной сети. Может ли кто-нибудь сказать мне, как это делается?

+0

.... сортировка основываясь на чем? Ответ на этот вопрос может помочь вам понять, почему существуют типы ... – user1320502

+0

На основании выбранного набора вершин (например, определенные узлы в сетевой базе не содержат эти метки вершин)? Не могли бы вы показать мне, как это можно сделать? – user2258452

ответ

4

Так что, я думаю, вы хотите номинальную версию ассортимента. Например.

V(g1)$foo <- sample(1:3, replace=TRUE, vcount(g1)) 
assortativity.nominal(g1, types=V(g1)$foo) 
# [1] -0.2270916 

Типы должны быть целыми числами, начиная с 1. См. Подробности в документации.

+0

Как сделать одно и то же для непрерывной переменной для ориентированного графа? У меня есть мера родства (от 0 до 1) для двоичных и исходящих ребер как два вектора, но я не могу добавить их в типы args1 и types2. –

+0

Вам нужно будет дискретировать его, я боюсь. Ассортиментация AFAIK не определена для непрерывных величин. Хотя я могу себе представить, что обобщать его не так уж сложно. –

 Смежные вопросы

  • Нет связанных вопросов^_^