I'm trying to run a Spearman correlation on a data set with a fairly large number of records. I keep getting an error message that states: "Too many cases for the available storage. NONPAR CORR cannot continue." I've made sure that no other programs are running, I've boosted my workspace memory and MXMEMORY, and I've re-booted my machine to clear the memory. Nothing works. What can I do?
Resolving The Problem
A Spearman correlation is actually a Pearson correlation performed on the case rankings of the variables specified instead of on the variables themselves. Requesting a Spearman, therefore, requires the application to first compute the rankings and hold them in temporary storage, and then perform the analysis. With a large dataset, this can overwhelm the available resources.
You can get around this problem by first calculating the case ranks on the specified variables yourself via Data->Rank Cases. Select the variables you wish to analyze, and accept the defaults. This will create a new "rank" variable for each variable specified. Then perform a Pearson correlation on the "rank" variables. The results will be identical to the Spearman.
You can also use the CROSSTABS procedure to obtain Spearman correlations, as well as tau-b correlations, and the results will typically be much faster in coming than with NONPAR CORR
Was this topic helpful?
16 April 2020