26 Apr 2011

Adonis (PERMANOVA) - Assumptions

Before you use PERMANOVA (R-vegan function adonis) you should read the user notes for the original program by the author (Marti J. Anderson) who first came up with this method. An important assumtption for PERMANOVA is same "multivariate spread" among groups, which is similar to variance homogeneity in univariate ANOVA.

I'll show why you may draw the wrong conclusions if this assumption is not met:












library(vegan)

# two similar populations:
dat1a<-matrix(sample(c(0,1,1,1),200,replace=T),10,20)
dat1b<-matrix(sample(c(0,1,1,1),200,replace=T),10,20)

# generating a third sample from the same population, but with reduced
# number of species occurrences. this set will have higher
# beta-diversity (or "multivariate spread"):
dat2<-matrix(sample(c(0,0,0,1),200,replace=T),10,20)
 


# distance matrices:
fac<-gl(2,10)
dist11<-vegdist(rbind(dat1a,dat1b))
dist12<-vegdist(rbind(dat1a,dat2)): 

# when computing sets with same beta-dispersion we get a
# correct adonis result with no sign. group differences
# in species composition:
anova(betadisper(dist11,fac))
adonis(rbind(dat1a,dat1b)~fac)

# when using sets with different beta-diversity you may
# get false significant adonis results - the location/composition
# is actually the same (!) this result is due to different
# multivariate spread in dat1 and dat2:
anova(betadisper(dist12,fac))
adonis(rbind(dat1a,dat2)~fac)

# see ordination diagram where location (centroids) between dat1 and dat2
# is not shifted more than for dat1a dat1b, still you yield a (false)
# sign. adonis result
# plot:

windows(10,5)

opar<-par()
par(mfrow=c(1,2))
plot(meta11<-metaMDS(dist11,zerodist=ignore),type="n",
main="same beta-disp\nsame location")
points(meta11,select=which(fac==1),col="red")
points(meta11,select=which(fac==2),col="blue")
ordispider(meta11,group=fac)

plot(meta12<-metaMDS(dist12,zerodist=ignore),type="n",
main="diff beta-disp\nsame location")
points(meta12,select=which(fac==1),col="red")
points(meta12,select=which(fac==2),col="blue")
ordispider(meta12,group=fac)

par(opar)

14 comments:

  1. What is the alternative then?

    ReplyDelete
    Replies
    1. I'd still do the Permanova but report that there is a considerable difference in multivariate spread that either could be the cause for the significant Permanova result. Of course, there are lots of other multivariate methods that could be considered, but I guess that's beyond the scope of this posting..

      Delete
    2. Thanks!

      Delete
  2. Dear Kay,

    Is it advisable to use adonis as a nonparametric alternative for Two-Way Anova?

    Thanks!

    Fernando

    ReplyDelete
    Replies
    1. Hi Fernando,

      I think there's a range of other statistical tools to be used for the analysis of univariate data. I'd advise you to post to an appropiate mailing list, describing your problem in detail and providing some toy-data.

      Regards,
      Kay

      Delete
    2. Dear Kay,

      Below is my dataset. We are testing surfaces for cell attachment, the surfaces are made combining two modifications at the beginning with two at the ending of the process.
      The response variable is not normal, so I turned to use adonis to analyze the data. My knowledge of statistic is very basic (college level) and mainly with parametric tests, I have found that some discussions caution against the use of adonis, so I am wondering if use it to analyse my data is correct. Also, I want to do multiple comparisons tests after, could I use Tukey for it?

      All the best, and thanks for any help

      Treatment ModInit ModTer cells/mm2
      ABS alfa-89 M3 60.92
      ABS alfa-89 M3 28.96
      ABS alfa-89 M3 26.68
      ABS alfa-89 M3 29.02
      ICA GusX M3 70.12
      ICA GusX M3 73
      ICA GusX M3 79.93
      ICA GusX M3 66.32
      OEA alfa-89 98-L 67.27
      OEA alfa-89 98-L 66.59
      OEA alfa-89 98-L 72.11
      OEA alfa-89 98-L 69.1
      ZZM GusX 98-L 62.75
      ZZM GusX 98-L 37.76
      ZZM GusX 98-L 57.01
      ZZM GusX 98-L 73.28

      Delete
    3. Fernando,

      You're barking up the wrong tree - PERMANOVA is unsuited for your (univariate) data - it is designed to fit multivariate data! There are other statistical methods which should be considered here. Just google for "alternative two-way anova".. When you have decided upon a test and aren't sure about the results, post to r-help for advise.

      Best,
      Kay

      Delete
    4. Dear Kay,

      Thanks!

      Fernando

      Delete
  3. It will be great if anyone can tell me urgently please how to create the experimental design file and the data file for the PERMANOVA program.
    My data are representing the temporal macrofaunal abundance response towards both the months and the species.
    I've read the manual the following paragraph

    ((A. Design file The first file the program requires is the design file. This file contains all of the information that the program needs regarding the factors in the experimental design, whether they are fixed or random, crossed (orthogonal) or nested in one another. The file is very easily created by hand in a text editor (such as “Notepad” or “SimpleText”). It should be saved as an ASCII text (*.txt) file. The design file contains the following information:
    1. In the first line is given an integer, which is the number of factors
    2. Next, a line is given for each factor in the design, in the order that they occur in the data file, providing the following information separated by tabs:
    a. the name of the factor;
    b. the number of levels of the factor;
    c. whether the factor is crossed (“C”) or nested (“N”) in some other factor(s);
    d. whether the factor is fixed (“F”) or random (“R”);
    e. if the factor is nested, then the number(s) corresponding to the factor(s) within which it is nested must be listed, with no spaces or tabs in between these numbers. If the factor is not nested, then a zero is given here (“0”).
    3. The last line contains the number of replicate observation units per cell (sample size, n). ))


    but I don't know how to construct the files for PERMANOVA especially how to deal with the dependent factor which is the macrofaunal abundance.

    I'm looking forward to hearing from you please
    My e-mail is:
    clouds@usa.com
    many thanks

    ReplyDelete
    Replies
    1. Sorry pal, I'm afraid you're addressing the wrong person! My advise: go to the PERMANOVA web-site, read the manuals & if that doesn't suffice, consider to contact the program mantainer.

      Yours,
      Kay

      Delete
    2. Can you provide link to the PERMANOVA web site please?

      Delete
    3. ..Google? 3rd hit: http://www.stat.auckland.ac.nz/~mja/Programs.htm

      Delete
  4. Please help me urgently! Can I run PERMANOVA in R on unbalanced design? Thank you in advance.

    GoPal

    ReplyDelete