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
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.
Select SAS Training centers are offering in-person courses. View upcoming courses for: