SAS proc corr produces the following output for correlation
proc corr data=fast;
var resp ;X
run;
Output.
resp X
resp 1.000 0.9600
<.0001
87 87
X 0.9600 1.000
<.0001
87 87
Is it possible pull out just the correlation and p-values and have it like this?
corr p
0.9600 <0.0001
Thank you.
Yes!
ods trace on; proc corr data=sashelp.class(keep=height age); ods output pearsoncorr=p; run; proc print noobs data=p(obs=1); var height pheight; run;
Height PHeight 0.81143 <.0001
Yes!
ods trace on; proc corr data=sashelp.class(keep=height age); ods output pearsoncorr=p; run; proc print noobs data=p(obs=1); var height pheight; run;
Height PHeight 0.81143 <.0001
You wrote:
ods trace on; proc corr data=sashelp.class(keep=height age); ods output pearsoncorr=p; run;
Is it supposed to be
ods trace on; proc corr data=sashelp.class(keep=height age);
var height age; ods output pearsoncorr=p; run;
You can use a keep= data set option as I used. You can instead use a VAR statement as you added. There is no reason to do both as you did. Data set options will not cover all possible places that you can specify variables (such as MODEL statements) but they work fine for a proc such as CORR.
Thank you very much!!!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.