# Return to Minitab macro index
# How to save this page as a macro
# CORR.MAC
# This macro computes correlations with P-values.
# P-values use the t-statistic t= R sqrt(n-2) / sqrt(1-r^2), with df n-2.
#
# AUTHOR: Darryl K. Nester
# Bluffton College
# Bluffton, OH 45817
# (419)358 - 3483
#
MACRO
CORR dat.1-dat.n
MCOLUMN dat.1-dat.N r.1-r.N p.1-p.N t.1-t.N temp
MMATRIX Rmat
MCONSTANT N X Y OBS tval DF M
MTITLE 'Correlations'
#NOTE
#NOTE Neither Minitab Inc. nor the author of this MACRO makes any claim
#NOTE or offers any warranty whatsoever with regard to the accuracy of
#NOTE this MACRO or its suitability for use, and Minitab Inc. and the
#NOTE author of this MACRO each disclaims any liability with respect thereto.
#NOTE
BRIEF 0
# first put correlations into worksheet columns r.1-r.N
corr dat.1-dat.N Rmat
copy Rmat r.1-r.N
let M = N-1
# now erase upper triangle of matrix (which is the same as the lower triangle)
if M>1
do X=2:M
do Y=2:X
let r.X(Y) = '*'
enddo
enddo
endif
delete 1 r.1-r.N
let OBS = N(dat.1)
let DF = OBS-2
do X=1:M
let t.X = r.X * SQRT( DF / (1 - r.X**2) )
let temp = -ABSOLUTE(t.X)
CDF temp temp;
T DF.
let p.X= 2*temp
enddo
BRIEF 2
NOTITLE
corr dat.1-dat.N
BRIEF 1
if M=1
print r.1 t.1 p.1;
format (' Correlation: ',F10.7,'; t=',F10.5,'; P-value=',F8.6,'.').
else
print r.1-r.M
print t.1-t.M
print p.1-p.M
endif
BRIEF 2
ENDMACRO