Re: [R] Indexing in anova summary output of the form: summary(aov(y ~ x1, Error = (x1/x2)))
Hi, there Sorry- I excluded some example code in the haste of my original e-mail. Please find it included below. Note, however, that the elements in the list in the summary output appear to be the anova tables themselves- what I need to do is get inside the anova tables (execute the code below to see what I mean...) Thanks again, Mike #example code to illustrate my inability to get at a mean square in anova output from # models of the form summary(aov(y ~ x1 + Error(x1/x2))) y<-rnorm(30,10) x1<-rep(1:2, each=15) x2<-rep(1:3, each=1, times=10) dat<-data.frame(y, x1, x2) dat ex.aov<-aov(y ~ x1 + Error(x1/x2)) ex.sum<-summary(ex.aov) ex.sum #gets you the first list in the element, which is anova output for x1 caluclated with nested factor x2 in x1 ex.sum[1] ex.sum[1]$Error #this is equivalent to... ex.sum[[1]] # since ex.sum is a list composed of anova tables, apparently the element in the list #is the anova table itself. The question is, how do you get at the elements in each table #(i.e., Mean Square?) Prof Brian Ripley wrote: The output is of class "summary.anovalist" so (hint, hint) it is a list. Try [[ ]] to get list elements. Without a reproducible example (see the footer and the posting guide) it is not possible to show you working code. On Thu, 5 Apr 2007, Michael D. Rennie wrote: Hi, there I'm trying to get the value of the Mean Square from the ANOVA model summary that comes from specifying the error term, and am wondering if one can actually do this ( I know it's possible when using anova(lm) objects and the like, but I'm having a tough time with it under this framework). There does appear to be some indexing in the output of this type, but perhaps not enough to obtain single values? Here's what I've been able to do so far with some example code: density.aov<-aov(density ~ substrate + Error(substrate/tile)) anov1<-(summary(density.aov)) print(anov1) Error: substrate Df Sum Sq Mean Sq substrate 2 1282.4 641.2 Error: substrate:tile Df Sum Sq Mean Sq F value Pr(>F) Residuals 27 225.700 8.359 Error: Within Df Sum Sq Mean Sq F value Pr(>F) Residuals 60 640.00 10.67 anov1[1] $`Error: substrate` Df Sum Sq Mean Sq substrate 2 1282.4 641.2 anov1[2] $`Error: substrate:tile` Df Sum Sq Mean Sq F value Pr(>F) Residuals 27 225.700 8.359 And, I can get anov1[1]$Error Df Sum Sq Mean Sq substrate 2 1282.4 641.2 a<-anov1[1]$Error and then tried to get at elements in that, trying things like a$Mean or a[,2] but all return Error: incorrect number of dimensions probably because length(a) [1] 1 Does anyone have any reccomendations on how to go any further here? Cheers, Mike -- Michael D. Rennie Ph.D. Candidate University of Toronto at Mississauga 3359 Missisagua Rd. N. Mississauga, ON L5L 1C6 Ph: 905-828-5452 Fax: 905-828-3792 www.utm.utoronto.ca/~w3rennie __ [email protected] 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.
Re: [R] Indexing in anova summary output of the form: summary(aov(y ~ x1, Error = (x1/x2)))
The output is of class "summary.anovalist" so (hint, hint) it is a list. Try [[ ]] to get list elements. Without a reproducible example (see the footer and the posting guide) it is not possible to show you working code. On Thu, 5 Apr 2007, Michael D. Rennie wrote: > > Hi, there > > I'm trying to get the value of the Mean Square from the ANOVA model summary > that comes from specifying the error term, and am wondering if one can > actually do this ( I know it's possible when using anova(lm) objects and the > like, but I'm having a tough time with it under this framework). There does > appear to be some indexing in the output of this type, but perhaps not enough > to obtain single values? Here's what I've been able to do so far with some > example code: > >> density.aov<-aov(density ~ substrate + Error(substrate/tile)) >> >> anov1<-(summary(density.aov)) >> print(anov1) > > Error: substrate > Df Sum Sq Mean Sq > substrate 2 1282.4 641.2 > > Error: substrate:tile > Df Sum Sq Mean Sq F value Pr(>F) > Residuals 27 225.700 8.359 > Error: Within > Df Sum Sq Mean Sq F value Pr(>F) > Residuals 60 640.00 10.67 >> anov1[1] > $`Error: substrate` > Df Sum Sq Mean Sq > substrate 2 1282.4 641.2 > >> anov1[2] > $`Error: substrate:tile` > Df Sum Sq Mean Sq F value Pr(>F) > Residuals 27 225.700 8.359 > And, I can get > >> anov1[1]$Error > Df Sum Sq Mean Sq > substrate 2 1282.4 641.2 > > a<-anov1[1]$Error > > and then tried to get at elements in that, trying things like > > a$Mean > > or > > a[,2] > > but all return > > Error: incorrect number of dimensions > > probably because > >> length(a) > [1] 1 > > Does anyone have any reccomendations on how to go any further here? > > Cheers, > > Mike > > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UKFax: +44 1865 272595 __ [email protected] 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.
[R] Indexing in anova summary output of the form: summary(aov(y ~ x1, Error = (x1/x2)))
Hi, there I'm trying to get the value of the Mean Square from the ANOVA model summary that comes from specifying the error term, and am wondering if one can actually do this ( I know it's possible when using anova(lm) objects and the like, but I'm having a tough time with it under this framework). There does appear to be some indexing in the output of this type, but perhaps not enough to obtain single values? Here's what I've been able to do so far with some example code: > density.aov<-aov(density ~ substrate + Error(substrate/tile)) > > anov1<-(summary(density.aov)) > print(anov1) Error: substrate Df Sum Sq Mean Sq substrate 2 1282.4 641.2 Error: substrate:tile Df Sum Sq Mean Sq F value Pr(>F) Residuals 27 225.700 8.359 Error: Within Df Sum Sq Mean Sq F value Pr(>F) Residuals 60 640.00 10.67 > anov1[1] $`Error: substrate` Df Sum Sq Mean Sq substrate 2 1282.4 641.2 > anov1[2] $`Error: substrate:tile` Df Sum Sq Mean Sq F value Pr(>F) Residuals 27 225.700 8.359 And, I can get > anov1[1]$Error Df Sum Sq Mean Sq substrate 2 1282.4 641.2 a<-anov1[1]$Error and then tried to get at elements in that, trying things like a$Mean or a[,2] but all return Error: incorrect number of dimensions probably because > length(a) [1] 1 Does anyone have any reccomendations on how to go any further here? Cheers, Mike -- Michael D. Rennie Ph.D. Candidate University of Toronto at Mississauga 3359 Missisagua Rd. N. Mississauga, ON L5L 1C6 Ph: 905-828-5452 Fax: 905-828-3792 www.utm.utoronto.ca/~w3rennie __ [email protected] 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.
