mat_fill
mat_fill.Rmd
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