[prev in list] [next in list] [prev in thread] [next in thread]
List: r-help
Subject: Re: [R] Indexing ANOVA table
From: "Pascal A. Niklaus" <Pascal.Niklaus () unibas ! ch>
Date: 2003-12-01 9:28:22
[Download RAW message or body]
Prof Brian Ripley wrote:
> On Sat, 29 Nov 2003 Pascal.Niklaus@unibas.ch wrote:
>
>
>
> > Hi all,
> >
> > I'd like to extract a value from an ANOVA table, but experience the following
> > problem:
> >
> > ### This works:
> >
> >
> >
> > > s.pseudo <- summary(aov(m ~ block + mix*graz,data=split1))
> > > s.pseudo
> > >
> > >
> > Df Sum Sq Mean Sq F value Pr(>F)
> > block 2 1114.66 557.33 4.4296 0.04192 *
> > mix 1 6.14 6.14 0.0488 0.82956
> > graz 2 1.45 0.72 0.0057 0.99427
> > mix:graz 2 3.82 1.91 0.0152 0.98495
> > Residuals 10 1258.19 125.82
> > ---
> > Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
> >
> >
> > > s.pseudo[[1]]["mix ","Pr(>F)"]
> > >
> > >
> > [1] 0.8295556
> >
> > ### But this doesn't -- why?
> >
> >
>
> Why should it?
>
>
>
> > > s.split <- summary(aov(m ~ block + mix*graz + Error(Plot),data=split1))
> > > s.split
> > >
> > >
> > Error: Plot
> > Df Sum Sq Mean Sq F value Pr(>F)
> > block 2 1114.66 557.33 0.8994 0.5265
> > mix 1 6.14 6.14 0.0099 0.9298
> > Residuals 2 1239.37 619.68
> >
> > Error: Within
> > Df Sum Sq Mean Sq F value Pr(>F)
> > graz 2 1.4464 0.7232 0.3073 0.7437
> > mix:graz 2 3.8206 1.9103 0.8117 0.4776
> > Residuals 8 18.8278 2.3535
> >
> >
> > > s.split[["Error: Plot"]] ## extracting first list element works
> > >
> > >
> > Df Sum Sq Mean Sq F value Pr(>F)
> > block 2 1114.66 557.33 0.8994 0.5265
> > mix 1 6.14 6.14 0.0099 0.9298
> > Residuals 2 1239.37 619.68
> >
> >
> > > s.split[["Error: Plot"]]["mix ","Pr(>F)"] ### <== FAILS
> > >
> > >
> > Error in s.split[["Error: Plot"]]["mix ", "Pr(>F)"] :
> > incorrect number of dimensions
> >
> >
>
> You should have written
>
> s.split[["Error: Plot"]][[1]]["mix ","Pr(>F)"]
>
>
>
> > So where is the difference between the two?
> >
> >
>
> One is an "aov" object, the other an "aovlist" object. Take a closer look
> at print.summary.aov, for example.
>
> More generally, learn how to look at R objects instead of assuming you
> know what you are doing: unclass(s.split[["Error: Plot"]]) would have been
> informative.
>
>
Thanks for the help - it works now.
I had of course tried str(s.split) and str(s.split[["Error: Plot"]]) and also [ ] and \
[[ ]], but wrongly thought that the remaining "List of 1" was because I extracted a \
slice of the list instead of a specific list element only... Need to look better next \
time...
Pascal
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic