我有两个大小完全相同的矩阵(100X500)。我想在不丢失任何信息的情况下将它们合并成1个相同大小的矩阵(100X500)。我不确定如何表达这一点,但这是我的想法。
Matrix A
A B C D ...
E F G H ...
.
.
.
Matrix B
1 2 3 4 ...
5 6 7 8 ...
.
.我期待的结果是这样的
Matrix C
A-1 B-2 C-3 D-4 ...
E-5 F-6 G-7 H-8 ...
.
.有没有能做到这一点的函数??这应该是一些基本的命令,但我以前从未遇到过这个问题。谢谢,
发布于 2013-04-08 21:57:51
您可以对矩阵使用paste:
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))这将提供:
[,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返回一个向量而不是矩阵,这就是为什么必须通过指定矩阵的维数将结果转换回矩阵的原因。
发布于 2013-04-08 22:29:42
另一种选择是在这里使用interaction
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"https://stackoverflow.com/questions/15880973
复制相似问题