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 mpm_sd a list of 'CompadreMat' objects, all of the same dimension

na.rm

Logical indicating whether missing values should be excluded (see Details). Defaults to FALSE.

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))

[Package Rcompadre version 1.3.0 Index]