如何从r中的两列对数据中获取矩阵?对角线为零并保持下对角线部分?

时间:2016-05-09 20:14:26

标签: r matrix

我的数据框如下所示;

ID_r ID_c SCORE
A1   A2   0.2
A1   A3   0.2
A1   A4   0.3
A1   A5   0.2
A1   A6   0.2
A2   A3   0.6
A2   A4   0.2
A2   A5   0.2
A2   A6   0.2
A3   A4   0.2
A3   A5   0.2
A3   A6   0.2
A4   A5   0.2
A4   A6   0.9
A5   A6   0.2

    ID_r<-c('A1','A1','A1','A1','A1','A2','A2','A2','A2','A3','A3','A3','A4','A4','A5')
    ID_c<-c('A2','A3','A4','A5','A6','A3','A4','A5','A6','A4','A5','A6','A5','A6','A6')
    SCORE<-c(0.2,0.2,0.3,0.2,0.2,0.6,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.9,0.2)

我想用两列数据生成一个矩阵 如下所示(仅保持下对角线部分和下延线部分为零)。我想将此矩阵导出到csv以供其他软件使用。

    A1  A2  A3  A4  A5  A6
A1 0.0   .   .   .   .   .
A2 0.2 0.0   .   .   .   . 
A3 0.2 0.6 0.0   .   .   .
A4 0.3 0.2 0.2 0.0   .   .
A5 0.2 0.2 0.2 0.2 0.0   .
A6 0.2 0.2 0.2 0.9 0.2 0.0

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以这样做。

add_submodule(submod1, __name__)
add_submodule(submod2, __name__)