我看过几个关于此问题的问题,但我无法理解任何答案,并且它们似乎都是关闭的线程。按行名加入两个不同大小的矩阵r
我想要做的是加入两个不同维度的矩阵,但有两个共同的列。如果两个矩阵中的任何两行在两列中具有相同的值,我想要追加这两行,否则我想将该行添加到矩阵的底部。
例如:矩阵1
Matrix 1
Col1 Col2 Col3 Col4
a b c d
e f g h
i j k l
Matrix 2
Col1 Col3 Col5
a c e
g f m
在上面的例子中,第一行中的矩阵1和两个具有在col1和COL3同一条目,而行2和3是不同的。
我想输出到如下所示:
NewMatrix
Col1 Col2 Col3 Col4 Col5
a b c d e
e f g h 0
i j k l 0
g 0 f 0 m
这样匹配的行结合,而那些不匹配任何行被简单地添加到年底。
有没有人有如何做到这一点的想法?任何帮助,将不胜感激。
感谢
迈克
我我的手机上,现在,所以我将不会发布一个答案,但你看过合并? – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto 我已经尝试过了,但是我有一些麻烦让它工作。我使用这种方法:Matrix1,Matrix2,by.Matrix1 = c(Matrix1 [,1],Matrix1 [,3]),by.Matrix2 = c(Matrix2 [,1],Matrix2 [,2])) ' (对不起,我不确定如何在代码中输入代码?) 但它会产生0乘0矩阵,即使两个矩阵之间存在明确的重叠。 感谢您的帮助 – Mike
@AnandaMahto 感谢您的帮助,我设法使用合并工作,我只是在上面的消息中有一个轻微的语法错误。 再次感谢您的帮助! – Mike