【问题标题】:Calculating assortativity in igraph在 igraph 中计算分类性
【发布时间】:2014-02-12 22:29:02
【问题描述】:

我有一个数据集如下:

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)

现在计算g1的分类系数,

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

我现在的问题是,我应该如何设置“类型”,它在文档中说,它是顶点值。这究竟是什么意思?我想计算网络中任何 5 个顶点的分类性。谁能告诉我这是怎么做到的?

【问题讨论】:

  • ....分类基于什么?这个问题的答案可能会帮助你理解为什么会有类型......
  • 例如基于一组选定的顶点(网络基础中的特定节点使用它们的顶点标签)?你能告诉我这是怎么做到的吗?

标签: r igraph


【解决方案1】:

所以我猜你想要分类的名义版本。例如。

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

类型必须是从 1 开始的整数。请参阅文档中的详细信息。

【讨论】:

  • 如何为有向图的连续变量做同样的事情?我对作为两个向量的入边和出边的相关性(范围从 0 到 1)进行了度量,但我似乎无法将它们添加到 args types1 和 types2。
  • 恐怕你需要离散化它。 AFAIK 分类没有为连续数量定义。虽然我可以想象,概括起来并不难。
猜你喜欢
  • 2021-09-20
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多