corr — Compute pairwise correlation coefficients and p-values.

corr(X) returns pairwise correlations between columns of X. corr(X,Y) returns correlations between columns of X and columns of Y. [R,P] = corr(...) also returns approximate p-values for testing no correlation.

Syntax

R = corr(X)
R = corr(X, Y)
R = corr(X, Name, Value)
R = corr(X, Y, Name, Value)
[R, PValue] = corr(X)
[R, PValue] = corr(X, Y)
[R, PValue] = corr(X, Name, Value)
[R, PValue] = corr(X, Y, Name, Value)

Inputs

NameTypeRequiredDefaultDescription
XAnyYesInput observations by variables.
YAnyNoSecond observations-by-variables input.
NameValueAnyVariadicName-value options including Type and Rows.

Returns

NameTypeDescription
RNumericArrayPairwise correlation coefficients.
PValueNumericArrayP-values for testing the hypothesis of no correlation.

Returned values from corr depend on how many outputs the caller requests.

Errors

IdentifierWhenMessage
RunMat:corr:InvalidArgumentInputs, row counts, Type, or Rows options are malformed or unsupported.corr: invalid argument
RunMat:corr:InternalInternal tensor conversion or allocation fails.corr: internal operation failed

How corr works

  • Rows are observations and columns are variables.
  • Type supports "Pearson", "Spearman", and "Kendall".
  • Rows supports "all", "complete", and "pairwise".
  • Tail supports "both", "right", and "left" for p-value direction.
  • Constant or insufficient data pairs produce NaN.

Examples

Column correlations

R = corr([1 3; 2 2; 3 1])

Pairwise NaN omission

R = corr([1; 2; NaN; 4], [1; 2; 3; 4], "Rows", "pairwise")

Rank correlation and p-values

[R,P] = corr(x, y, "Type", "Kendall", "Tail", "right")

Using corr with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how corr changes the result.

Run a small corr example, explain the result, then change one input and compare the output.

FAQ

Does corr support rank correlations?

Spearman and Kendall rank correlations are supported through the Type option. P-values use standard large-sample approximations.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how corr is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.