从网络获取加权矩阵

时间:2018-11-27 07:10:08

标签: r igraph adjacency-matrix

我使用asnipe包从逐个矩阵创建网络,但是随后,我需要将其转换为邻接矩阵。 为此,我考虑过使用igraph中包含的函数,例如get.adjacency,但是它返回一个非加权矩阵,其中所有关联仅取1作为值。

例如,如果我们考虑以下数据集:

data <- read.table(text = "  A B C D E
                 1 1 1 0 0 0
                 2 1 1 0 0 0
                 3 1 1 0 0 0
                 4 1 1 0 0 0
                 5 0 0 1 1 1
                 6 0 0 1 1 1
                 7 0 0 1 1 1
                 8 0 0 1 1 1
                 9 1 1 1 1 1", header = TRUE)

其中给出以下图表:

network <- get_network(association_data = data, data_format = "GBI")
# Generating  5  x  5  matrix

library(igraph)
net <- graph.adjacency(network, mode = "undirected", weighted = TRUE, diag = FALSE)

graph

我希望得到一个像这样的矩阵:

  A B C D E
A . 5 1 1 1
B 5 . 1 1 1
C 1 1 . 5 5
D 1 1 5 . 5
E 1 1 5 5 .

但是我明白了:

get.adjacency(net)
# 5 x 5 sparse Matrix of class "dgCMatrix"
  A B C D E
A . 1 1 1 1
B 1 . 1 1 1
C 1 1 . 1 1
D 1 1 1 . 1
E 1 1 1 1 .

此数据集为例,实际数据包含数千行,不包括手动进行的任何可能性。 提前非常感谢您!

0 个答案:

没有答案