R 同维组合矩阵

R 同维组合矩阵,r,matrix,data-manipulation,R,Matrix,Data Manipulation,我有两个相同维度的矩阵,用NA和字符串填充。比如说, structure(c("Y1", "Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, "Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y2", NA, "Y2", NA, NA, NA

我有两个相同维度的矩阵,用NA和字符串填充。比如说,

structure(c("Y1", "Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, 
"Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, 
NA, NA, "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y2", NA, "Y2", NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Dim = c(12L, 
12L))

我想把这两个矩阵结合起来。结果矩阵的尺寸与它们相同,元素应如下所示:

 [,1]   [,2]   [,3]   [,4]   [,5] [,6]   [,7] [,8] [,9] [,10] [,11] [,12]
 [1,] "Y1"   "Y1"   "Y1"   ""     ""   ""     ""   ""   ""   ""    ""    ""   
 [2,] "Y1"   "Y1"   "Y1"   "Y2"   ""   "Y2"   ""   ""   ""   ""    ""    ""   
 [3,] "Y1"   "Y1"   "Y1"   "Y2"   ""   "Y2"   ""   ""   ""   ""    ""    ""   
 [4,] ""     "Y2"   "Y2"   "Y2"   ""   "Y2"   ""   ""   ""   ""    ""    ""   
 [5,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
 [6,] ""     "Y2"   "Y2"   "Y2"   ""   "Y2"   ""   ""   ""   ""    ""    ""   
 [7,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
 [8,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
 [9,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
[10,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
[11,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
[12,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   

对于名为mat1和mat2的矩阵,请使用逻辑索引。特别是使用

mat1[is.na(mat1)] <- mat2[is.na(mat1)]

对于名为mat1和mat2的矩阵,请使用逻辑索引。特别是使用

mat1[is.na(mat1)] <- mat2[is.na(mat1)]
mat1
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
 [1,] "Y1" "Y1" "Y1" NA   NA   NA   NA   NA   NA   NA    NA    NA   
 [2,] "Y1" "Y1" "Y1" "Y2" NA   "Y2" NA   NA   NA   NA    NA    NA   
 [3,] "Y1" "Y1" "Y1" "Y2" NA   "Y2" NA   NA   NA   NA    NA    NA   
 [4,] NA   "Y2" "Y2" "Y2" NA   "Y2" NA   NA   NA   NA    NA    NA   
 [5,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
 [6,] NA   "Y2" "Y2" "Y2" NA   "Y2" NA   NA   NA   NA    NA    NA   
 [7,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
 [8,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
 [9,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
[10,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
[11,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA   
[12,] NA   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA    NA