R:如何根据列名和行名合并两个矩阵?
输入矩阵A
column1 column2 column3 column4
row1 0 1 0 0
row2 0 0 -1 0
row3 1 0 0 -1
输入矩阵B
column5 column6 column7 column8
row1 0 1 0 0
row2 0 0 -1 0
row4 1 0 0 -1
输出矩阵C
column1 column2 column3 column4 column5 column6 column7 column8
row1 0 1 0 0 0 1 0 0
row2 0 0 -1 0 0 0 -1 0
row3 1 0 0 -1 0 0 0 0
row4 0 0 0 0 1 0 0 -1
备注:矩阵A 和矩阵B 的行名重叠。但是,所有列的名称都不同。
Input matrix A
column1 column2 column3 column4
row1 0 1 0 0
row2 0 0 -1 0
row3 1 0 0 -1
Input matrix B
column5 column6 column7 column8
row1 0 1 0 0
row2 0 0 -1 0
row4 1 0 0 -1
Output matrix C
column1 column2 column3 column4 column5 column6 column7 column8
row1 0 1 0 0 0 1 0 0
row2 0 0 -1 0 0 0 -1 0
row3 1 0 0 -1 0 0 0 0
row4 0 0 0 0 1 0 0 -1
Remarks: matrix A and matrixB got overlapped row's name. However, all the columns' names are different.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
merge
来通过指定可选参数by
和all
来完成此操作:将产生
如果您想将 NA 替换为零,则此操作应该工作:
You can use
merge
to do this by specifying the optional parametersby
andall
:Will yield
If you want to replace the NAs with zeros, this should work: