结合相同维度的矩阵

The*_*aya 0 r data-manipulation matrix

我有两个相同维度的矩阵,用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))
Run Code Online (Sandbox Code Playgroud)

structure(c("Y1", "Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "Y1", "Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y1", 
"Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y2", "Y2", 
"Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, "Y2", "Y2", "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))
Run Code Online (Sandbox Code Playgroud)

我想结合这两个矩阵.结果矩阵将具有与它们相同的尺寸,元素应如下所示:

 [,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,] ""     ""     ""     ""     ""   ""     ""   ""   ""   ""    ""    ""   
Run Code Online (Sandbox Code Playgroud)

lmo*_*lmo 5

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

mat1[is.na(mat1)] <- mat2[is.na(mat1)]
Run Code Online (Sandbox Code Playgroud)

这回来了

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
Run Code Online (Sandbox Code Playgroud)