rand_cor_mat: Simulate a random correlation matrix

View source: R/random_correlation_matrix.R

rand_cor_matR Documentation

Simulate a random correlation matrix

Description

Creates a symmetric n x n correlation matrix with user-defined minimum and maximum correlations based on a continuous uniform distribution.

Usage

rand_cor_mat(
  n = 5,
  min.cor = -1,
  max.cor = 1,
  pos.def = FALSE,
  small.positive = NULL
)

Arguments

n

A scalar defining the dimensions of the correlation matrix.

min.cor

A scalar defining the minimum correlation.

max.cor

A scalar defining the maximum correlation.
Note: -1 < min.cor < max.cor < 1.

pos.def

When TRUE (default is FALSE), the function bend of the R package 'mbend' is used to bend a non-positive (semi)-definite matrix to be positive (semi)-definite.

small.positive

Argument passed to bend when pos.def = TRUE (default is 1e-8). Eigenvalues smaller than small.positive are replaced by this.
Note: 0 < small.positive < 0.1.

Value

A symmetric n x n correlation matrix. When pos.def = TRUE, the correlation matrix is guaranteed to be positive (semi)-definite.

Examples

# Simulate and visualise a random correlation matrix with 10 columns and rows.
cor_mat <- rand_cor_mat(
  n = 10,
  min.cor = -0.2,
  max.cor = 0.8,
  pos.def = TRUE
)

plot_matrix(
  mat = cor_mat,
  order = TRUE
)


FieldSimR documentation built on Sept. 11, 2024, 6:39 p.m.