我有2个矩阵A和B。我想通过匹配列名和行名将两个矩阵中的值相加。矩阵A具有所有可能的存储桶作为行名和列名。矩阵B仅包含其中的几个。别名和行名都相同。这就像一个交叉表。 (或混淆矩阵)
我希望最终矩阵C包含所有可能的行名,列名以及从A和B累加的值。
答案 0 :(得分:0)
这里是一些伪数据的方式(理想情况下,您应该提供它)-
A <- matrix(1, nrow = 3, ncol = 3, dimnames = list(paste0("A", 1:3), paste0("A", 1:3)))
B <- matrix(2, nrow = 2, ncol = 2, dimnames = list(paste0("A", 2:3), paste0("A", 2:3)))
A
A1 A2 A3
A1 1 1 1
A2 1 1 1
A3 1 1 1
B
A2 A3
A2 2 2
A3 2 2
A[rownames(B), colnames(B)] <- A[rownames(B), colnames(B)] + B
A
A1 A2 A3
A1 1 1 1
A2 1 3 3
A3 1 3 3