【发布时间】:2013-03-24 18:55:25
【问题描述】:
我有
a <- matrix(c(1,3,4,2,2,6,3,1,6), nrow = 3, ncol=3, byrow=TRUE, dimnames = list(NULL, c("Apples", "Pears", "Oranges")))
Pears Apples Oranges
1 1 3 4
2 2 2 6
3 3 1 6
b <- matrix(c(1,3,2,6,3,6), nrow = 3, ncol=2, byrow=TRUE, dimnames = list(NULL, c( "Pears", "Oranges")))
Pears Oranges
1 1 4
2 2 6
3 3 6
我想合并它们以获得这样的结果:
Pears Apples Oranges
1 1 3 4
2 2 2 6
3 3 1 6
4 1 Na 4
5 2 Na 6
6 3 Na 6
即,将它们按列名组合在一起,在第二帧缺少值的地方留下 Na/s,对于较大矩阵 a,较小矩阵 b 的一般情况
rbind 不起作用,merge 做了一些奇怪的事情。我追求什么?我也可以使用内存效率最高的东西,因为这最终会使用很多列名来完成很多次。
谢谢,
-N
编辑:当我最初问的时候,我可能应该提到这一点,但我实际上想达到上面的确切效果,但有一些非常重要的警告:
我正在使用矩阵
第一个矩阵将始终包含比第二个矩阵更多的列名
我可能想从包 bigmemory 创建一个 big.matrix。
【问题讨论】: