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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.