[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