【发布时间】:2015-09-12 02:03:42
【问题描述】:
我想匹配/连接两个矩阵,一个带有值的小矩阵应该通过行名/列名匹配一个更大的矩阵。我只找到this 的答案。但是,我无法匹配这些位置,因为代码行 frn <- as.matrix(bigMatrix[[1]]) 在我的情况下不起作用。内部,外部 ... join here 的答案没有帮助,因为我想匹配/加入许多不同的列(而不是例如 X 的 CostumerID 和 y 的 CustomerID)。
因为我使用的矩阵是 126x104 和 193x193 矩阵。我准备了示例数据: 1. 较大的矩阵应该包含较小的矩阵(字母在原始数据集中的国家名称中):
a = c("A", "B", "C", "D", "E", "F")
full_matrix = matrix(nrow = length(a), ncol=length(a))
dimnames(full_matrix) <- list(levels(as.factor(a)), levels(as.factor(a)))
full_matrix
A B C D E F
A NA NA NA NA NA NA
B NA NA NA NA NA NA
C NA NA NA NA NA NA
D NA NA NA NA NA NA
E NA NA NA NA NA NA
F NA NA NA NA NA NA
还有更小的矩阵:
matrix = matrix(c(2, 4, 3, 1, 5, 7, 3, 1, 6), nrow=3, ncol=3)
dimnames(matrix) <- list(c("B","C","E"), c("A","B","F"))
matrix
A B F
B 2 1 3
C 4 5 1
E 3 7 6
结果应该是这样的:
A B C D E F
A NA NA NA NA NA NA
B 2 1 NA NA NA 3
C 4 5 NA NA NA 1
D NA NA NA NA NA NA
E 3 7 NA NA NA 6
F NA NA NA NA NA NA
【问题讨论】:
-
fix_rc(list(matrix), factors = list(LETTERS[1:6], LETTERS[1:6]))看到这个question/answer。唯一的区别是您的矩阵不在列表中,因此您可以调整它
标签: r