This example combines sample correlation coefficients computed from a set of imputed data sets by using Fisher’s z transformation.
Fisher’s z transformation of the sample correlation r is

The statistic z is approximately normally distributed with mean

and variance , where is the population correlation coefficient and n is the number of observations.
The following statements use the CORR procedure to compute the correlation r and its associated Fisher’s z statistic between variables Oxygen
and RunTime
for each imputed data set. The ODS statement is used to save Fisher’s z statistic in an output data set.
proc corr data=outmi fisher(biasadj=no); var Oxygen RunTime; by _Imputation_; ods output FisherPearsonCorr= outz; run;
The following statements display the number of observations and Fisher’s z statistic for each imputed data set in Output 58.10.1:
proc print data=outz; title 'Fisher''s Correlation Statistics'; var _Imputation_ NObs ZVal; run;
Output 58.10.1: Output z Statistics
Fisher's Correlation Statistics 
Obs  _Imputation_  NObs  ZVal 

1  1  31  1.27869 
2  2  31  1.30715 
3  3  31  1.27922 
4  4  31  1.39243 
5  5  31  1.40146 
The following statements generate the standard error associated with the z statistic, :
data outz; set outz; StdZ= 1. / sqrt(NObs3); run;
The following statements use the MIANALYZE procedure to generate a combined parameter estimate and its variance, as shown in Output 58.10.2. The ODS statement is used to save the parameter estimates in an output data set.
proc mianalyze data=outz; ods output ParameterEstimates=parms; modeleffects ZVal; stderr StdZ; run;
Output 58.10.2: Combining Fisher’s z Statistics
Parameter Estimates  

Parameter  Estimate  Std Error  95% Confidence Limits  DF  Minimum  Maximum  Theta0  t for H0: Parameter=Theta0 
Pr > t  
ZVal  1.331787  0.200327  1.72587  0.93771  330.23  1.401459  1.278686  0  6.65  <.0001 
In addition to the estimate for z, PROC MIANALYZE also generates 95% confidence limits for z, and . The following statements print the estimate and 95% confidence limits for z in Output 58.10.3:
proc print data=parms; title 'Parameter Estimates with 95% Confidence Limits'; var Estimate LCLMean UCLMean; run;
Output 58.10.3: Parameter Estimates with 95% Confidence Limits
Parameter Estimates with 95% Confidence Limits 
Obs  Estimate  LCLMean  UCLMean 

1  1.331787  1.72587  0.93771 
An estimate of the correlation coefficient with its corresponding 95% confidence limits is then generated from the following inverse transformation as described in the section Correlation Coefficients:

for , , and .
The following statements generate and display an estimate of the correlation coefficient and its 95% confidence limits, as shown in Output 58.10.4:
data corr_ci; set parms; r= tanh( Estimate); r_lower= tanh( LCLMean); r_upper= tanh( UCLMean); run; proc print data=corr_ci; title 'Estimated Correlation Coefficient' ' with 95% Confidence Limits'; var r r_lower r_upper; run;
Output 58.10.4: Estimated Correlation Coefficient
Estimated Correlation Coefficient with 95% Confidence Limits 
Obs  r  r_lower  r_upper 

1  0.86969  0.93857  0.73417 