Skip to contents
library(saferMatrix)


Datasets

mat1 <- matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2]))
mat2 <- matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2]))
mat3 <- matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(LETTERS[1:4], c(NA, NA)))
mat4 <- matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(c("A1", "A2", "A3", "A4"), letters[1:2]))


Datasets info

mat1
>   a b
> A 1 1
> B 1 5
> C 1 9
> D 2 8
mat2
>   a  b
> A 1  1
> B 1  5
> C 1  9
> D 2 NA
mat3
>   <NA> <NA>
> A    1    1
> B    1    5
> C    1    9
> D    2    8
mat4
>    a b
> A1 1 1
> A2 1 5
> A3 1 9
> A4 2 8


Simple examples

mat_op(mat.list = list(mat1, mat2))
>   a  b
> A 2  2
> B 2 10
> C 2 18
> D 4 NA
mat_op(mat.list = list(mat2, mat3))
>   [,1] [,2]
> A    2    2
> B    2   10
> C    2   18
> D    4   NA
mat_op(mat.list = list(mat2, mat2, mat4))
>      a  b
> [1,] 3  3
> [2,] 3 15
> [3,] 3 27
> [4,] 6 NA


All the arguments

mat_op(mat.list = list(mat1, mat2), kind.of.operation = "*")
>   a  b
> A 1  1
> B 1 25
> C 1 81
> D 4 NA
mat_op(mat.list = list(mat2, mat3), kind.of.operation = "-")
>   [,1] [,2]
> A    0    0
> B    0    0
> C    0    0
> D    0   NA
mat_op(mat.list = list(mat2, mat2, mat4), kind.of.operation = "+")
>      a  b
> [1,] 3  3
> [2,] 3 15
> [3,] 3 27
> [4,] 6 NA