Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Computing semipartial correlations

From   "Scott Merryman" <>
To   <>
Subject   Re: st: Computing semipartial correlations
Date   Thu, 11 Dec 2003 18:35:38 -0600

It sounds like you already have the solution in hand; in addition there is
Philip Ender's -partcorr- that computes partial and semipartial correlations.

-findit semipartial correlation- will bring it up,


----- Original Message ----- 
From: "Richard Williams" <>
To: <>
Sent: Thursday, December 11, 2003 1:53 PM
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
> about).
> 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.

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index