将方矩阵分成两对

y2p*_*y2p 2 r data-manipulation matrix

我有一个大的方阵12128 x 12128.例

      A    B    C    D     E
A    0.5  0.4  0.1  0.02  0.4
B    0.1  0.3  0.07 0.03  0.9
C    0.8  0.04 0.5  0.4   0.4
D    3.4  5.6  9.5  2     2.1
E    0.6  9.1  0.3  0.5   1.2
Run Code Online (Sandbox Code Playgroud)

我有一个对列表(#18000),它存在于矩阵的所有可能对中

 A   B
 B   E
 C   E
Run Code Online (Sandbox Code Playgroud)

我只需要矩阵中列表中的对的值.有没有更简单的方法来做而不是分解整个矩阵(melt(matrix))?谢谢

G. *_*eck 5

使用mind从其他帖子作为测试数据尝试这样:

m[ind]
Run Code Online (Sandbox Code Playgroud)

编辑:

如果行名和列名可以有重复项(如后面的注释中所述),并且如果我们想要这些中的所有可能值,那么试试这个:

merge(as.data.frame.table(m), ind, by = 1:2)
Run Code Online (Sandbox Code Playgroud)