我使用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)
我希望得到一个像这样的矩阵:
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 .
此数据集为例,实际数据包含数千行,不包括手动进行的任何可能性。 提前非常感谢您!