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
Thanks for your help!
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
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
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.