I was wondering if it might be possible to pick the NA columns and NA rows from the d1 square matrix and place them into d2 square matrix to achieve my DESIRED, d3 square matrix?
This is a toy example, and d1 and d2 square matrices can be of any dimension. Thus a function to achieve similar NA replacements is appreciated.
m1="
a1 a2 a3 a4 a5 a6 a7 a8 a9 b1 b2 b3
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.1 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
NA NA NA NA NA NA NA NA NA NA NA NA
0 0.0 0 0 0 0 NA 0.3 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.1 NA 0.0 NA
NA NA NA NA NA NA NA NA NA NA NA NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.3 NA
NA NA NA NA NA NA NA NA NA NA NA NA"
d1 <- sapply(read.table(text=m1,h=T),as.numeric)
m2="
a1 a2 a3 a4 a5 a6 a8 a9 b2
1 2.0 1 9 4 0 0.0 3.0 1.0
0 0.1 0 0 0 0 0.0 0.0 0.0
0 0.0 7 0 0 0 0.0 0.0 0.0
0 0.0 0 5 0 0 0.0 0.0 0.0
0 0.0 0 0 0 0 0.0 0.0 0.0
0 0.0 0 0 0 0 0.0 0.0 0.0
0 0.0 0 0 3 0 0.3 0.0 0.0
0 0.0 0 0 0 0 0.0 0.1 0.0
0 0.0 8 0 6 0 0.0 0.0 0.6"
d2 <- as.matrix(read.table(text=m2,h=T))
DESIRED="
a1 a2 a3 a4 a5 a6 a7 a8 a9 b1 b2 b3
1 2.0 1 9 0 0 NA 0.0 3.0 NA 1.0 NA
0 0.1 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 7 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 5 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.0 NA 0.0 NA
NA NA NA NA NA NA NA NA NA NA NA NA
0 0.0 0 0 3 0 NA 0.3 0.0 NA 0.0 NA
0 0.0 0 0 0 0 NA 0.0 0.1 NA 0.0 NA
NA NA NA NA NA NA NA NA NA NA NA NA
0 0.0 8 0 6 0 NA 0.0 0.0 NA 0.6 NA
NA NA NA NA NA NA NA NA NA NA NA NA"
d3 <- as.matrix(read.table(text=DESIRED,h=T))