R:检查两行是否使用参考矩阵连接

R : check whether two rows are connected using a reference matrix

我的 ID 是 [A,B,C,D] 和下面的参考矩阵,它告诉我哪些 ID 是 connected.If 它们在单元格中有 1 或 -1,然后我们可以说它们是相连的,所以从这个矩阵我们可以说 'A' 与 'B' 和 'C' 相连,同样所有相连的 ID 都在下面的矩阵中表示
# A B C D A 0 1 -1 0 B 1 0 0 1 C -1 0 0 0 D 0 1 0 0

现在我有了第二个矩阵,其中的行的 ID 作为所有 ID 的子集。此矩阵的列不是 ID。
# X1 X2 X3 A 1.5 1.6 0.7 D 0.9 1.3 1.4 C 0.7 1.1 1.8

现在我想使用第一个引用查找第二个矩阵中的哪些行已连接 matrix.I 希望创建另一个矩阵,其中包含第二个矩阵的行,但应该告诉它们是否连接或不引用第一个矩阵。我希望得到如下矩阵作为我的结果。
# A D C A 0 0 1 D 0 0 0 C 1 0 0
请建议我如何在 R 中实现此目的?

我在行名上使用了匹配。让我知道这是否适合你/如果你有任何问题。

matrix1 <- matrix(c(0, 1, -1, 0, 1, 0, 0, 1, -1, 0, 0, 0, 0, 1, 0, 0), ncol = 4, byrow = TRUE, dimnames = list(LETTERS[1:4], LETTERS[1:4]))
matrix1
   A B  C D
A  0 1 -1 0
B  1 0  0 1
C -1 0  0 0
D  0 1  0 0

matrix2 <- matrix(c(1.5, 1.6, 0.7, 0.9, 1.3, 1.4, 0.7, 1.1, 1.8), ncol = 3, byrow = TRUE, dimnames = list(c("A","D","C"), paste0("X",1:3)))
matrix2
   X1  X2  X3
A 1.5 1.6 0.7
D 0.9 1.3 1.4
C 0.7 1.1 1.8

matched_rows <- match(rownames(matrix2), rownames(matrix1))
matched_cols <- match(rownames(matrix2), colnames(matrix1))
matrix3 <- abs(matrix1[matched_rows, matched_cols])
matrix3
  A D C
A 0 0 1
D 0 0 0
C 1 0 0