Compute correlation and other association matrices from small to high-dimensional datasets with relative simple functions and sensible defaults. Includes options for shrinkage and robustness to improve results in noisy or high-dimensional settings (p >= n), plus convenient print/plot methods for inspection. Implemented with optimised C++ backends using BLAS/OpenMP and memory-aware symmetric updates. Works with base matrices and data frames, returning standard R objects via a consistent S3 interface. Useful across genomics, agriculture, and machine-learning workflows. Supports Pearson, Spearman, Kendall, distance correlation, partial correlation, and robust biweight mid-correlation; Bland–Altman analyses and Lin's concordance correlation coefficient (including repeated-measures extensions). Methods based on Ledoit and Wolf (2004) tools:::Rd_expr_doi("10.1016/S0047-259X(03)00096-4"); Schäfer and Strimmer (2005) tools:::Rd_expr_doi("10.2202/1544-6115.1175"); Lin (1989) tools:::Rd_expr_doi("10.2307/2532051").
Validates and normalises input for correlation computations. Accepts either a numeric matrix or a data frame, filters numeric columns, checks dimensions and (optionally) missing values, and returns a numeric (double) matrix with preserved column names.
validate_corr_input(data, check_na = TRUE)A numeric matrix (type double) with column names preserved.
A matrix or data frame. Non-numeric columns are dropped (data.frame path). For matrix input, storage mode must be integer or double.
Logical (default TRUE). If TRUE, validate and
reject inputs containing NA/NaN/Inf. Set to
FALSE when an upstream routine (e.g., pairwise-complete kernels)
will handle missingness per pair.
Maintainer: Thiago de Paula Oliveira thiago.paula.oliveira@gmail.com (ORCID)
Thiago de Paula Oliveira
Rules enforced:
Input must be a matrix or data.frame.
Only numeric (integer or double) columns are retained (data.frame path).
At least two numeric columns are required.
All columns must have the same length and \(\ge\) 2 observations.
Missing values are not allowed when check_na = TRUE.
Returns a double matrix; integer input is converted once.
Useful links:
Report bugs at https://github.com/Prof-ThiagoOliveira/matrixCorr/issues
pearson_corr(), spearman_rho(), kendall_tau()