# RE: st: Computing semipartial correlations

 From "Nick Cox" To Subject RE: st: Computing semipartial correlations Date Thu, 11 Dec 2003 20:05:55 -0000

```One way of making this public is to send
the files (including .hlp) to Kit Baum
for inclusion at SSC.

Kit will want

a brief write-up
keywords (like "semipartial correlation")

See the latest SSC example, -checkvar- by
Phil Bardsley, by

ssc desc checkvar

Nick
n.j.cox@durham.ac.uk

> -----Original Message-----
> From: owner-statalist@hsphsun2.harvard.edu
> [mailto:owner-statalist@hsphsun2.harvard.edu]On Behalf Of Richard
> Williams
> Sent: 11 December 2003 19:53
> To: statalist@hsphsun2.harvard.edu
> Subject: Re: st: Computing semipartial correlations
>
>
> At 11:54 AM 12/11/2003 -0500, Richard Williams wrote:
> >The pcorr routine uses the following formula to compute
> partial correlations:
> >
> >t/sqrt(t^2 + N - K -1) where N = Sample size and K = # of
> X variables
> >
> >This is not the most intuitive formula in the world, but
> it works! I would
> >like to modify the program to compute semipartial
> correlations.  Does
> >anybody know of a similarly straightforward formula that would do
> >this?  pcorr runs a regress command and then uses the
> saved estimates to
> >do its calculations.  Thanks for any input.
>
> I figured out the answer to my own question, in case
> anybody else is
> interested.  The formula for a semipartial is, of course,
>
> t * sqrt((1-R^2)/(N-K-1))
>
> (I actually did a proof of this 7 years ago that I had
> completely forgotten
>
> To implement this in the pcorr command, you drop this line
>
> */ %9.4f `s'*sqrt(r(F)/(r(F)+`NmK')) /*
>
> and replace it with
>
> */ %9.4f `s'*sqrt(r(F)* ((1-e(r2))/`NmK')) /
>
> Also, change the program define line to pcorr2 (or perhaps
> semicorr) and
> have the program print out Semipartial instead of Partial.
> I imagine
> somebody who is a little more skilled than I currently am
> could rewrite the
> routine to print out both the partials and the semipartials.
>
> Given that it is fairly easy to modify pcorr to give both
> partial and
> semipartial correlations, can I request that Stata do so?  Or, if I
> eventually just do it myself, how would I make a semicorr
> or a pcorr2
> routine available to the world?  Thanks.
>
>
>
> -------------------------------------------
> Richard Williams, Associate Professor
> OFFICE: (574)631-6668, (574)631-6463
> FAX:    (574)288-4373
> HOME:   (574)289-5227
> EMAIL:  Richard.A.Williams.5@ND.Edu
> WWW (personal):    http://www.nd.edu/~rwilliam
> WWW (department):    http://www.nd.edu/~soc
>
> *
> *   For searches and help try:
> *   http://www.stata.com/support/faqs/res/findit.html
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```