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

我有一组ID [A,B,C,D],以及下面的参考矩阵,用于显示哪些ID是连接的。如果单元格中有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。
# X1 X2 X3 A 1.5 1.6 0.7 D 0.9 1.3 1.4 C 0.7 1.1 1.8

现在我想使用第一个参考矩阵来找出第二矩阵中的哪些行是连接的。我希望创建另一个矩阵,包含第二矩阵的行,但应该根据第一个矩阵指示它们是否连接。我期望的结果矩阵如下所示。
# A D C A 0 0 1 D 0 0 0 C 1 0 0
请建议我如何在R中实现这一点?


回答:

我使用了rownames上的match函数。请告诉我这是否对你有用/你是否有任何问题。

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 DA  0 1 -1 0B  1 0  0 1C -1 0  0 0D  0 1  0 0matrix2 <- 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  X3A 1.5 1.6 0.7D 0.9 1.3 1.4C 0.7 1.1 1.8matched_rows <- match(rownames(matrix2), rownames(matrix1))matched_cols <- match(rownames(matrix2), colnames(matrix1))matrix3 <- abs(matrix1[matched_rows, matched_cols])matrix3  A D CA 0 0 1D 0 0 0C 1 0 0

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注