[R] How to obtain the coefficients from a summary of aov ?

Andrea Bernasconi DG andrea.bernasconi.dg at gmail.com
Wed Apr 21 18:09:02 CEST 2010


Thank you David,

but how to get the value of 0.015939 present in s.npk.aov, and not given by s.npk.aov$coef["block","Pr(>F)"] ?

On the other, the procedure to extract coefficients from a summary of lm or aov should be the same. 

Andrea

On 21 Apr, 2010, at 3:20 PM, David Winsemius wrote:

> 
> On Apr 21, 2010, at 8:37 AM, Andrea Bernasconi DG wrote:
> 
>> Dear Madame, Dear Sir,
>> 
>> I am able to obtain the coefficients from a 'summary' of 'lm', but NOT from a 'summary' of 'aov'.
>> The following example shows my steps.
>> 
>> ## Initialize
>> rm(list = ls()) # remove (almost) everything in the working environment
> 
> @#$%^&*() DON'T DO THAT.... luckily I left off the "l" when I copied and pasted but otherwise this would have trashed my workspace.
> 
>> utils::data(npk, package="MASS") # get data
>> model <- yield ~ block + N*P*K
>> 
>> ## Using lm
>> npk.lm <- lm(model, npk)
>> ( s.npk.lm <- summary(npk.lm) )
>> 
>> ...
>>           Estimate Std. Error t value Pr(>|t|)
>> (Intercept)  54.8750     0.8021  68.415  < 2e-16 ***
>> block1        1.7125     1.3893   1.233  0.24131
>> block2        1.6792     0.8021   2.093  0.05822 .
>> block3       -1.8229     0.5672  -3.214  0.00744 **
>> ...
>> 
>> s.npk.lm$coef["block1","Pr(>|t|)"] # this works
>> [1] 0.2413061
>> 
>> ## Using aov
>> npk.aov <- aov(model, npk)
> 
> str(npk.aov)
> 
> > npk.aov$coefficients
> (Intercept)      block2      block3      block4      block5      block6          N1
> 51.8250000   3.4250000   6.7500000  -3.9000000  -3.5000000   2.3250000   9.8500000
>         P1          K1       N1:P1       N1:K1       P1:K1    N1:P1:K1
>  0.4166667  -1.9166667  -3.7666667  -4.7000000   0.5666667          NA
> 
> Or reading the help pages one might have tried, although I will admit that the differences in parametrization confounded my efforts at describing a linear combination of those results to create the simpler result offered above:
> 
> ?model.tables
> > model.tables(npk.aov, "effects")
> Tables of effects
> 
> block
> block
>     1      2      3      4      5      6
> -0.850  2.575  5.900 -4.750 -4.350  1.475
> 
> N
> N
>      0       1
> -2.8083  2.8083
> 
> P
> P
>      0       1
> 0.5917 -0.5917
> 
> K
> K
>      0       1
> 1.9917 -1.9917
> 
> N:P
>   P
> N   0       1
>  0 -0.9417  0.9417
>  1  0.9417 -0.9417
> 
> N:K
>   K
> N   0      1
>  0 -1.175  1.175
>  1  1.175 -1.175
> 
> P:K
>   K
> P   0        1
>  0  0.14167 -0.14167
>  1 -0.14167  0.14167
> 
> >
>> ( s.npk.aov <- summary(npk.aov) )
>> 
>> ...
>>           Df Sum Sq Mean Sq F value   Pr(>F)
>> block        5 343.29  68.659  4.4467 0.015939 *
>> N            1 189.28 189.282 12.2587 0.004372 **
>> P            1   8.40   8.402  0.5441 0.474904
>> ...
>> 
>> s.npk.aov$coef["block","Pr(>F)"] # this does NOT works
>> 
>> ...
>> NULL
>> ...
>> 
>> How to obtain the coefficients from a 'summary'  of 'aov' ?
>> 
>> In advance, I thank you very much for your eventual answer.
>> 
>> Sincerely, Andrea Bernasconi
>> 
>> mobile: +41 79 621 74 07
>> URL: http://web.me.com/andrea.bernasconi.dg/Andrea_Bernasconi_DG_home_page/HOME.html
>> 
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> 
> David Winsemius, MD
> West Hartford, CT
> 

mobile: +41 79 621 74 07



More information about the R-help mailing list