我正在寻找通过合并具有相同值的列的单元格来合并具有不同大小的两个矩阵的方法。
例如接下来的两个矩阵:
Matrix 1:
a, 1
b, 4
c, 5
Matrix 2:
a, 8
c, 9
在第一栏合并之后:
a, 1, 8
b, 4, NA
c, 5, 9
谢谢!
答案 0 :(得分:0)
'dimname'可以指定,然后可以轻松使用merge()
。
mat1 <- matrix(c("a","b","c", 1,4,5), ncol=2,
dimnames = list(c("1", "2", "3"), c("id", "v1")))
mat2 <- matrix(c("a","c", 8, 9), ncol=2,
dimnames = list(c("1", "2"), c("id", "v2")))
merge(mat1, mat2, by="id", all.x = TRUE)
id v1 v2
1 a 1 8
2 b 4 <NA>
3 c 5 9
行维名称可以省略为dimnames = list(NULL, c("id", "v1"))
。