mpm_sd {Rcompadre} | R Documentation |
Calculate a standard deviation over a list of matrices or CompadreMat objects
Description
Calculates an element-wise standard deviation over a list of matrices or CompadreMat objects of constant dimension.
Usage
mat_sd(x, na.rm = FALSE)
mpm_sd(x, na.rm = FALSE)
Arguments
x |
A list of matrices or, for |
na.rm |
Logical indicating whether missing values should be excluded
(see Details). Defaults to |
Details
The difference between function mat_sd
) and (mpm_sd
is that
mat_sd
takes input as a list of matrices (e.g., a list of **A**
matrices) while mat_sd
takes input as a list of 'CompadreMat' objects and
thus calculates the mean matrices for both the **A** matrix and its
submatrices (**U**, **F**, **C**).
If na.rm == TRUE
, missing values are ignored in the calculation of the
mean matrix. If na.rm == TRUE
and a given element is NA
in
every matrix within x
, the value returned for that element will
be 0
.
Value
A matrix containing the standard deviation of each element across all matrices in the list
Author(s)
Darren Norris
Owen R. Jones <jones@biology.sdu.dk>
See Also
Other data management:
cdb_flatten()
,
cdb_id_stages()
,
cdb_id_studies()
,
cdb_id()
,
cdb_mean_matF()
,
cdb_rbind()
,
cdb_unflatten()
,
cdb_unnest()
,
mpm_mean()
,
mpm_median()
,
string_representation
Examples
# set seed for repeatability
set.seed(42)
# create a function that generates a matrix with random values
create_matrix <- function() {
matrix(runif(9, 0, 1), nrow = 3)
}
# use replicate() to call the create_matrix() function 20 times
mat_list <- replicate(20, create_matrix(), simplify = FALSE)
# get the sd matrix
mat_sd(mat_list)
# If the matrices are in an RCompadre object, extract them using `matA` before
# passing to `mat_sd`
my_compadre <- cdb_build_cdb(mat_a = mat_list)
mat_sd(matA(my_compadre))