[R] Ask for functions to obtain partial R-square (squared partial correlation coefficients)

Xingwang Ye xingwang.ye at gmail.com
Tue Aug 21 13:23:02 CEST 2007


Many thanks to Frank. The anova.Design function is advanced and very 
powerful. Sometimes, I want to get the "PCORR2" and "SCORR2", any 
functions available now in R packages?


Frank E Harrell Jr wrote:
> Ye Xingwang wrote:
>> The partial R-square (or coefficient of partial determination, or
>> squared partial correlation coefficients) measures the marginal
>> contribution of one explanatory variable when all others are already
>> included in multiple linear regression model.
>>
>> The following link has very clear explanations on partial and
>> semi-partial correlation:
>> http://www.psy.jhu.edu/~ashelton/courses/stats315/week2.pdf
>>
>> In SAS, the options is PCORR2 and SCORR2.
>> For example(from 
>> http://www.ats.ucla.edu/stat/sas/examples/alsm/alsmsasch7.htm)
>>
>> data ch7tab01;
>>   input X1 X2 X3 Y;
>>   label x1 = 'Triceps'
>>         x2 = 'Thigh cir.'
>>     x3 = 'Midarm cir.'
>>          y = 'body fat';
>>   cards;
>>   19.5  43.1  29.1  11.9
>>   24.7  49.8  28.2  22.8
>>   30.7  51.9  37.0  18.7
>>   29.8  54.3  31.1  20.1
>>   19.1  42.2  30.9  12.9
>>   25.6  53.9  23.7  21.7
>>   31.4  58.5  27.6  27.1
>>   27.9  52.1  30.6  25.4
>>   22.1  49.9  23.2  21.3
>>   25.5  53.5  24.8  19.3
>>   31.1  56.6  30.0  25.4
>>   30.4  56.7  28.3  27.2
>>   18.7  46.5  23.0  11.7
>>   19.7  44.2  28.6  17.8
>>   14.6  42.7  21.3  12.8
>>   29.5  54.4  30.1  23.9
>>   27.7  55.3  25.7  22.6
>>   30.2  58.6  24.6  25.4
>>   22.7  48.2  27.1  14.8
>>   25.2  51.0  27.5  21.1
>> ;
>> run;
>>
>> proc reg data = ch7tab01;
>>   model y = x1 x2 / pcorr2 SCORR2;
>>   model y = x1-x3 / pcorr2 SCORR2;
>> run;
>> quit;
>>
>> There has been a post in
>> http://tolstoy.newcastle.edu.au/R/help/05/03/0437.html
>>
>> It will be great appreciated if someone could write a general function
>> to work with class lm or glm to obtain the
>> pcorr2 (squared partial correlation coefficients using Type II sums 
>> of squares)
>> and scorr2 (squared semi-partial correlation coefficients using Type
>> II sums of squares)
>> for all independent variables (>3 variables) simultaneously?
>>
>> Thank you.
>> Xingwang Ye
>>
>
> library(Design)  # requires Hmisc
> f <- ols(y ~ x1 + x2)
> p <- plot(anova(f), what='partial R2')
> p
>
> The anova.Design function called above handles pooling related degrees 
> of freedom and pools main effects with related interaction effects to 
> get the total partial effect.
>
> Frank
>
>



More information about the R-help mailing list