R 将数据集转换为图形对象

R 将数据集转换为图形对象,r,networking,igraph,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 我想转换为图形对象,但我

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

    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\u from\u adjacence\u matrix
graph\u from\u data\u frame

有什么好主意吗?

我想你需要从关联矩阵的
图形开始。假设您的数据位于名为
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
库(igraph)

g我认为您需要从关联矩阵的
图形开始。假设您的数据位于名为
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
库(igraph)

g真的很感激,还有一个问题,我怎样才能在这个图中添加行和列名@Neilf查看
add.names
参数到
graph\u from\u incidence\u matrix
。默认情况下,数据框的行名和列名被添加为顶点名:
V(g)$name
。非常感谢,还有一个问题,我如何才能将行名和列名添加到此图中@Neilf查看
add.names
参数到
graph\u from\u incidence\u matrix
。默认情况下,数据框的行名和列名作为顶点名添加:
V(g)$name