首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中合并2个大小相同的矩阵

在R中合并2个大小相同的矩阵
EN

Stack Overflow用户
提问于 2013-04-08 21:54:49
回答 2查看 174关注 0票数 1

我有两个大小完全相同的矩阵(100X500)。我想在不丢失任何信息的情况下将它们合并成1个相同大小的矩阵(100X500)。我不确定如何表达这一点,但这是我的想法。

代码语言:javascript
复制
Matrix A
   A        B        C      D     ...
   E        F        G      H     ...
   .
   .
   .

Matrix B
   1        2        3      4     ...
   5        6        7      8     ...
   .
   .

我期待的结果是这样的

代码语言:javascript
复制
Matrix C
   A-1        B-2        C-3      D-4     ...
   E-5        F-6        G-7      H-8     ...
   .
   .

有没有能做到这一点的函数??这应该是一些基本的命令,但我以前从未遇到过这个问题。谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-08 21:57:51

您可以对矩阵使用paste

代码语言:javascript
复制
m1 <- matrix(LETTERS[1:24],nrow=6,ncol=4)
m2 <- matrix(1:24,nrow=6,ncol=4)
matrix(paste(m1,m2,sep="-"),nrow=nrow(m1),ncol=ncol(m1))

这将提供:

代码语言:javascript
复制
     [,1]  [,2]   [,3]   [,4]  
[1,] "A-1" "G-7"  "M-13" "S-19"
[2,] "B-2" "H-8"  "N-14" "T-20"
[3,] "C-3" "I-9"  "O-15" "U-21"
[4,] "D-4" "J-10" "P-16" "V-22"
[5,] "E-5" "K-11" "Q-17" "W-23"
[6,] "F-6" "L-12" "R-18" "X-24"

paste返回一个向量而不是矩阵,这就是为什么必须通过指定矩阵的维数将结果转换回矩阵的原因。

票数 6
EN

Stack Overflow用户

发布于 2013-04-08 22:29:42

另一种选择是在这里使用interaction

代码语言:javascript
复制
    matrix(interaction(m1,m2,sep='-'),nrow=nrow(m1),ncol=ncol(m1))
     [,1]  [,2]   [,3]   [,4]  
[1,] "A-1" "G-7"  "M-13" "S-19"
[2,] "B-2" "H-8"  "N-14" "T-20"
[3,] "C-3" "I-9"  "O-15" "U-21"
[4,] "D-4" "J-10" "P-16" "V-22"
[5,] "E-5" "K-11" "Q-17" "W-23"
[6,] "F-6" "L-12" "R-18" "X-24"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15880973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档