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