Hi Community:
After running a Proc Corr, I have got a correlation table as below:
Have | ||||
Company1 | Company2 | Company3 | Company4 | |
Company1 | 1 | 0.562365 | -0.06496 | 0.889913 |
Company2 | 0.562365 | 1 | 0.49224 | 0.737267 |
Company3 | -0.06496 | 0.49224 | 1 | 0.274877 |
Company4 | 0.889913 | 0.737267 | 0.274877 | 1 |
As there are 1000s of companies, I would like to make it as below:
Want | ||
Company1 | Company2 | 0.562365 |
Company1 | Company3 | -0.06496 |
Company1 | Company4 | 0.889913 |
Company2 | Company3 | 0.49224 |
Company2 | Company4 | 0.737267 |
Company3 | Company4 | 0.274877 |
Thanks in advance!
Here is the actual screenshot:
Jijil Ramakrishnan
Example:
proc corr data=sashelp.cars outp=have noprint;
var _numeric_;
run;
data want;
set have(where=(_type_='CORR'));
array x _numeric_;
length vname $ 32;
do i=1 to dim(x);
vname=vname(x(i));
if _name_^=vname then do;
corr=x(i);
output;
end;
end;
keep _name_ vname corr;
run;
Example:
proc corr data=sashelp.cars outp=have noprint;
var _numeric_;
run;
data want;
set have(where=(_type_='CORR'));
array x _numeric_;
length vname $ 32;
do i=1 to dim(x);
vname=vname(x(i));
if _name_^=vname then do;
corr=x(i);
output;
end;
end;
keep _name_ vname corr;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.