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)
对于名为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)