## correlations

Solved
Frequent Contributor
Posts: 79

# correlations

I have a correlation matrix

Corrout =

X  Z

X 1 0.2

Z 0.4  1

I would like to compute the mean of this correlation matrix excluding the diagonal terms so for example in this simple case it is  = 0.3

The column/rownames X and Z are not fixed you can have any number of columns and any number of rows and they can be called anything.

I am not  sure how to do this in SAs

Accepted Solutions
Solution
‎02-13-2013 08:56 PM
Posts: 5,521

## Re: correlations

Assuming your matrix is in a dataset where rows are identified with labels corresponding to variable names :

data matrix;
input label \$ X Z;
datalines;
X 1 0.2
Z 0.4  1
;

proc transpose data=matrix out=list;
by label notsorted;
run;

proc sql;
select mean(COL1) as meanCorr

from list where _name_ ne label;
quit;

PG

PG

All Replies
Solution
‎02-13-2013 08:56 PM
Posts: 5,521

## Re: correlations

Assuming your matrix is in a dataset where rows are identified with labels corresponding to variable names :

data matrix;
input label \$ X Z;
datalines;
X 1 0.2
Z 0.4  1
;

proc transpose data=matrix out=list;
by label notsorted;
run;

proc sql;
select mean(COL1) as meanCorr

from list where _name_ ne label;
quit;

PG

PG
🔒 This topic is solved and locked.