如何根据数据帧值改变邻接矩阵的权重?

时间:2018-05-02 18:34:31

标签: r dataframe adjacency-matrix

我有一个加权邻接矩阵,如下所示:

adj<-read.table(text="    a_fgh   c_dfg   l_opu
a_fgh   0   3.3 5.6
                c_dfg   3.3 0   8.5
                l_opu   5.6 8.5 0",
                header=TRUE)
adjMat<-as.matrix(adj)

我还有一张表如下:

    table<-read.table(text="name1   name2    (3,4.5)     (4.5,6)     (6,7.5)     (7.5,9)
fgh_a   opu_l   10  -31 75  -69
fgh_a   dfg_c   45  60  30  33  38
dfg_c   opu_p   75  57  40  22  -63
opu_l   dfg_c   -69 -56 78  96  78
",
                    header=TRUE)

我想根据顶部表格更改邻接矩阵的权重。例如,a_fgh与l_opu有交互,权重为5.6。

然而,根据a_fghl_opu之间边缘权重的表值,如果在4.5到6之间必须是-6。通过这些,邻接矩阵如下:

adj2<-read.table(text="     a_fgh   c_dfg   l_opu
    a_fgh   0   60  -6
                  c_dfg 60  0   8.5
                  l_opu -6  78  0",
                header=TRUE)
adjMat2<-as.matrix(adj)

0 个答案:

没有答案