Adonis and Random Effects
Hi Steve and R list, I was hoping you could clarify something you mentioned in previous post. A quick recap... I have a split-plot design where I determined the microbial communities at 3 grasslands (see post script for design). I am trying quantify the how much of my community can be explained by Treatment or Grassland effect. After talking with a statistician, it seems like treating Grassland as a Fixed effect would be reasonable (because I have such a small number of grasslands). You mentioned that if I treat Grassland as a Fixed effect, and use the following formula, the Grassland effect would not be tested correctly: adonis(formula = community_distance_matrix ~ Treatment*Grassland + GrasslandPlot, strata = GrasslandPlot) Why is this? Is there any way to remedy this? Thanks for your feedback, Erin Experimental design: 4 split plots * 2 Treatments * 3 Grasslands = 24 observations Treatment: 2 levels (each within 1 split plot) Grassland: 3 levels GrasslandPlot: 12 levels (4 split plots nested in 3 Grasslands)
On Feb 4, 2013, at 6:22 AM, Steve Brewer wrote:
Erin, There have been a lot of similar queries (e.g., repeated measures, nested permanova). Jari can correct me if I am wrong, but as far as I know, no one has developed a way to define multiple error terms in adonis. You can use adonis, however, to get the split-plot effects. If you want to make a grassland a random effect, use the following statement adonis(formula = community_distance_matrix ~ Treatment + Grassland + GrasslandPlot, strata = GrasslandPlot) The treatment effect will be correct because the residual error term (which is equivalent to treatment x GrasslandPlot interaction nested within Grassland) is the correct error term. The Grassland effect, however, will not be tested correctly because it is using the residual error term when it should be using GrasslandPLot as the error term. You can determine what the F stat for Grassland should be, however, using the Ms Grassland and MS GrasslandPlot from the anova table to construct the F test. You just won't get a p-value for the test. If you want to treat Grassland as a fixed effect, the model is similar but defines the interaction adonis(formula = community_distance_matrix ~ Treatment*Grassland + GrasslandPlot, strata = GrasslandPlot) In this case, the treatment x grassland interaction will be tested correctly, as will the treatment effect, but not the Grassland effect. Unfortunately, you cannot just take averages of abundances across the treatment and control in each plot and then do a separate analysis of Grassland and GrasslandPLot (unless you're using Euclidean distances). I suspect you're not using Euclidean distances. Hope this helps some. Good luck, Steve J. Stephen Brewer Professor Department of Biology PO Box 1848 University of Mississippi University, Mississippi 38677-1848 Brewer web page - http://home.olemiss.edu/~jbrewer/ FAX - 662-915-5144 Phone - 662-915-1077 On 2/4/13 1:14 AM, "Erin Nuccio" <enuccio at gmail.com> wrote:
Hello List, Is adonis capable of modeling random effects? I'm analyzing the impact of a treatment on the microbial community in a split-plot design (2 treatments per plot, 4 plots per grassland, 3 grasslands total). I would like to quantify how much of the variance is due to the Treatment versus the Grassland. It seems like Grassland should be a random effect, since there are thousands of grasslands, and I'm only looking at 3. Thanks for your help, Erin Here are my factors: 'data.frame': 24 obs. of 4 variables: $ Treatment : Factor w/ 2 levels "T1","T2": 1 1 1 1 1 2 2 2 1 1 ... $ Grassland : Factor w/ 3 levels "G1","G2","G3": 3 3 1 1 1 2 2 1 2 2 ... $ Plot : Factor w/ 4 levels "P1","P2","P3","P4": 1 2 2 3 4 1 3 2 1 2 ... $ GrasslandPlot: Factor w/ 12 levels "G1:P1","G1:P2","G1:P3"..: 9 10 2 3 4 5 7 2 5 6 ... And here's the error message: Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels In addition: Warning messages: 1: In Ops.factor(1, Grassland) : | not meaningful for factors 2: In Ops.factor(1, GrasslandPlot) : | not meaningful for factors
_______________________________________________ R-sig-ecology mailing list R-sig-ecology at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-ecology