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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
X | Any | Yes | — | Input observations by variables. |
Y | Any | No | — | Second observations-by-variables input. |
NameValue | Any | Variadic | — | Name-value options including Type and Rows. |
Returns
| Name | Type | Description |
|---|---|---|
R | NumericArray | Pairwise correlation coefficients. |
PValue | NumericArray | P-values for testing the hypothesis of no correlation. |
Returned values from corr depend on how many outputs the caller requests.
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:corr:InvalidArgument | Inputs, row counts, Type, or Rows options are malformed or unsupported. | corr: invalid argument |
RunMat:corr:Internal | Internal tensor conversion or allocation fails. | corr: internal operation failed |
How corr works
- Rows are observations and columns are variables.
Typesupports"Pearson","Spearman", and"Kendall".Rowssupports"all","complete", and"pairwise".Tailsupports"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.
Related Stats functions
Summary
binocdf · boxplot · cdf · cdfplot · chi2cdf · corrcoef · corrcov · cov · cov2corr · dummyvar · ecdf · filloutliers · fitdist · geomean · grpstats · harmmean · icdf · isoutlier · kstest · kurtosis · lsline · mad · mode · nanmax · normalize · normcdf · norminv · normpdf · onehotdecode · onehotencode · pdf · prctile · quantile · refline · rmse · skewness · tabulate · tcdf · tiedrank · tinv · tpdf · ttest2 · wblinv
Ml
bayesopt · classify · confusionmat · crossvalind · cvpartition · fitclinear · fitctree · fitlm · kmeans · knnsearch · lasso · lassoglm · linkage · lscov · mnrfit · optimizableVariable · pdist · pdist2 · perfcurve · predict · regress · ridge · squareform · test · training · tsne
Random
binornd · bootstrp · datasample · dividerand · exprnd · gamrnd · lhsdesign · mvnrnd · normrnd · random · randsample · rng · trnd · unidrnd · unifrnd · wblrnd
Hist
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how corr is executed, line by line, in Rust.
- View the source for corr in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
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.