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

Re: st: Computing semipartial correlations

From   Richard Williams <>
Subject   Re: st: Computing semipartial correlations
Date   Thu, 11 Dec 2003 14:53:21 -0500

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.

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):
WWW (department):

* For searches and help try:

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