Skip to contents
library(saferMatrix)


Datasets

mat1 <- matrix(c(1,1,1,2, 0,2,3,0, NA,3,0,0, 5,0,0,0), ncol = 4)
mat2 <- matrix(c(1,1,1,2, "a",2,3,NA, "a","a",0,0, "a","a","a",0), ncol = 4)
mat3 <- matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,NA, 5,0,0,0), ncol = 4)
mat4 <- matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,0, 5,0,0,0), ncol = 4)


Datasets info

mat1
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3    0
> [3,]    1    3    0    0
> [4,]    2    0    0    0
mat2
>      [,1] [,2] [,3] [,4]
> [1,] "1"  "a"  "a"  "a" 
> [2,] "1"  "2"  "a"  "a" 
> [3,] "1"  "3"  "0"  "a" 
> [4,] "2"  NA   "0"  "0"
mat3
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]    0    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0   NA    0
mat4
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]    0    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0    0    0


Simple examples

mat_fill(mat = mat1)
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3   NA
> [3,]    1    3    2    0
> [4,]    2    1    1    1
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0\n\n(2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"
mat_fill(mat = mat2)
> $mat
>      [,1] [,2] [,3] [,4]
> [1,] "1"  "a"  "a"  "a" 
> [2,] "1"  "2"  "a"  "a" 
> [3,] "1"  "3"  "0"  "a" 
> [4,] "2"  NA   "0"  "0" 
> 
> $warn
> [1] "(1) ACCORDING TO empty.cell.string ARGUMENT (0), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART"
mat_fill(mat = mat3)
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]   NA    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0   NA    0
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0\n\n(2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"


Argument empty.cell.string

mat_fill(mat = mat1, empty.cell.string = 0)
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3   NA
> [3,]    1    3    2    0
> [4,]    2    1    1    1
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0\n\n(2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"
mat_fill(mat = mat2, empty.cell.string = "a")
> $mat
>      [,1] [,2] [,3] [,4]
> [1,] "1"  "1"  "1"  "2" 
> [2,] "1"  "2"  "3"  NA  
> [3,] "1"  "3"  "0"  "0" 
> [4,] "2"  NA   "0"  "0" 
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPRIGHT CORNER, FULL OF a\n\n(2) TOPRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"
mat_fill(mat = mat3, empty.cell.string = 0)
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]   NA    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0   NA    0
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0\n\n(2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"


Argument warn.print

 mat_fill(mat = mat1, warn.print = TRUE)
> Warning: FROM mat_fill():
> 
> (1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0
> 
> (2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3   NA
> [3,]    1    3    2    0
> [4,]    2    1    1    1
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0\n\n(2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"
 mat_fill(mat = mat2, warn.print = TRUE)
> Warning: FROM mat_fill():
> 
> (1) ACCORDING TO empty.cell.string ARGUMENT (0), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART
> $mat
>      [,1] [,2] [,3] [,4]
> [1,] "1"  "a"  "a"  "a" 
> [2,] "1"  "2"  "a"  "a" 
> [3,] "1"  "3"  "0"  "a" 
> [4,] "2"  NA   "0"  "0" 
> 
> $warn
> [1] "(1) ACCORDING TO empty.cell.string ARGUMENT (0), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART"
 mat_fill(mat = mat3, warn.print = TRUE)
> Warning: FROM mat_fill():
> 
> (1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0
> 
> (2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]   NA    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0   NA    0
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0\n\n(2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"


All the arguments

# bottomright example
mat_fill(mat = mat1, empty.cell.string = 0, warn.print = TRUE) 
> Warning: FROM mat_fill():
> 
> (1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0
> 
> (2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3   NA
> [3,]    1    3    2    0
> [4,]    2    1    1    1
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0\n\n(2) BOTTOMRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"

# topright example
mat_fill(mat = mat2, empty.cell.string = "a", warn.print = TRUE) 
> Warning: FROM mat_fill():
> 
> (1) EMPTY SECTOR DETECTED ON THE TOPRIGHT CORNER, FULL OF a
> 
> (2) TOPRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL
> $mat
>      [,1] [,2] [,3] [,4]
> [1,] "1"  "1"  "1"  "2" 
> [2,] "1"  "2"  "3"  NA  
> [3,] "1"  "3"  "0"  "0" 
> [4,] "2"  NA   "0"  "0" 
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPRIGHT CORNER, FULL OF a\n\n(2) TOPRIGHT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"

# topleft example
mat_fill(mat = mat3, empty.cell.string = 0, warn.print = TRUE) 
> Warning: FROM mat_fill():
> 
> (1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0
> 
> (2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    0    0    0    5
> [2,]   NA    0    3    0
> [3,]    0    3    0    0
> [4,]    2    0   NA    0
> 
> $warn
> [1] "(1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0\n\n(2) TOPLEFT SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL"


Error examples

mat_fill(mat = mat1, empty.cell.string = NA, warn.print = TRUE) 
> Warning: FROM mat_fill():
> 
> (1) ACCORDING TO empty.cell.string ARGUMENT (NA), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART
> $mat
>      [,1] [,2] [,3] [,4]
> [1,]    1    0   NA    5
> [2,]    1    2    3    0
> [3,]    1    3    0    0
> [4,]    2    0    0    0
> 
> $warn
> [1] "(1) ACCORDING TO empty.cell.string ARGUMENT (NA), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART"

mat_fill(mat = mat4, empty.cell.string = 0, warn.print = TRUE) 
> Error: 
> 
> ================
> 
> ERROR IN mat_fill() OF THE saferMatrix PACKAGE
> ACCORDING TO empty.cell.string ARGUMENT (0), mat ARGUMENT MATRIX HAS MORE THAN ONE EMPTY HALF PART (ACCORDING TO THE GRAND DIAGONAL): topleft bottomright
> 
> ================
> 
> IN ADDITION
> WARNINGS:
> 
> (1) EMPTY SECTOR DETECTED ON THE TOPLEFT CORNER, FULL OF 0
> 
> (2) EMPTY SECTOR DETECTED ON THE BOTTOMRIGHT CORNER, FULL OF 0