Using this:
ods exclude all;
proc corr data=SomeInputData;
ods output PearsonCorr=SomeOutputData;
var SomeMeasure;
by SomeCategory;
run;
ods exclude none;
Gives me the Pearson correlation including p values. Can I also obtain the Kendall rank, Spearman and Point-Biserial correlation using proc corr (or other procs)?
The answer is the same as last time you asked, but replace the word 'Pearson' by 'Spearman.'.
See https://communities.sas.com/t5/SAS-Procedures/add-p-values-to-output-dataset-of-proc-corr/m-p/430081
If I may suggest, it will be easier to ask and answer questions if you post code that uses one of the built-in SAS data sets in the SASHELP libref. See also the SAS/STAT data sets.
My favorites in Sashelp are Class,Cars, Heart, and Iris. You can use PROC CONTENTS to see the variables and PROC PRINT (OBS=5) to see a few records.For example, here is your solution using Cars:
proc sort data=sashelp.cars out=cars;
by origin;
run;
ods exclude all;
proc corr data=cars Spearman;
ods output SpearmanCorr=P;
var mpg_city weight;
by Origin;
run;
ods exclude none;
proc print data=P; run;
Somewhat, see the options on the PROC CORR statement in the documentation.
I don't know if Point-Biserial correlation is available.
Did you SAS install not come with ANY online help or documentation?
You can request Fisher Hoeffding Kendal Pearson Polychoric Polyserial and Spearman correlations with proc corr.
To follow-up on Ballardw's comment, all documentation is posted online. Here are some URLs that I have bookmarked for easy reference:
Most Base SAS Procedures: CONTENTS, COMPARE, MEANS, RANK,...
Base SAS Statistical Procedures: CORR, FREQ, and UNIVARIATE <== relevant for current question
DATA Step Functions and Call Routines
Hi all,
Thanks and apologies for not doing enough research. I wrote this on the mobile last night and did not have reliable Internet access.
I am currently using this code to obtain the Spearman correlation:
ods exclude all;
PROC CORR DATA=SomeInputData SPEARMAN out=SomeOutputData;
var SomeMeasure;
by SomeCategory;
RUN;
ods exclude none;
Is there a way to get p values similarly to the Pearson correlation code in my original question?
The answer is the same as last time you asked, but replace the word 'Pearson' by 'Spearman.'.
See https://communities.sas.com/t5/SAS-Procedures/add-p-values-to-output-dataset-of-proc-corr/m-p/430081
If I may suggest, it will be easier to ask and answer questions if you post code that uses one of the built-in SAS data sets in the SASHELP libref. See also the SAS/STAT data sets.
My favorites in Sashelp are Class,Cars, Heart, and Iris. You can use PROC CONTENTS to see the variables and PROC PRINT (OBS=5) to see a few records.For example, here is your solution using Cars:
proc sort data=sashelp.cars out=cars;
by origin;
run;
ods exclude all;
proc corr data=cars Spearman;
ods output SpearmanCorr=P;
var mpg_city weight;
by Origin;
run;
ods exclude none;
proc print data=P; run;
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 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.