将数据集转换为图形对象

时间:2017-03-27 21:34:46

标签: r networking igraph

我有一个加权和二分网络的数据集:

    A   B   C   D   P
W   0   0   0   1   0
Q   0   0   0   7   13
E   0   0   0   16  1
T   0   0   0   5   1
U   0   1   0   23  1
R   1   0   0   10  2
M   0   0   1   13  4
H   3   0   0   13  5
L   0   0   0   3   3

我想转换为图形对象,但我不知道该怎么做,我必须使用graph_from_adjacency_matrixgraph_from_data_frame? 有什么想法可以提供帮助吗?

1 个答案:

答案 0 :(得分:2)

我认为你需要从graph_from_incidence_matrix开始。假设您的数据位于名为df1的数据框中,您的问题中包含列名和行名:

library(igraph)
g <- graph_from_incidence_matrix(df1, weighted = TRUE)

E(g)
+ 21/21 edges (vertex names):
 [1] W--D Q--D Q--P E--D E--P T--D T--P U--B U--D U--P R--A R--D R--P M--C M--D M--P H--A H--D H--P
[20] L--D L--P

E(g)$weight
 [1]  1  7 13 16  1  5  1  1 23  1  1 10  2  1 13  4  3 13  5  3  3