[R-sig-eco] Plotting adonis (vegan) results

Vít Syrovátka syrovat at sci.muni.cz
Sat Aug 10 16:11:01 CEST 2013


Thank you, Gavin.
Yes, I meant the methods you listed, but fully agree that PCoA will be 
the most reasonable method with respect to what adonis or betadisper are 
doing.
Vit

Dne 2013-08-10 15:53, Gavin Simpson napsal:
> Just one point Vit, re "...or choose another ordination technique." If 
> by
> that you meant you could use PCA or CA or NMDS etc, then I don't think 
> that
> will be useful. We use PCoA because the inputs to adonis(), 
> betadisper, etc
> are dissimilarity matrices and the aim is to show those 
> dissimilarities
> (and the group centroids/dispersions) as best as possible whilst 
> preserving
> the direct link to the distance values (ie why we don't use NMDS). I 
> guess
> you could use PCA for this if you have Euclidean distances, CA if you 
> want
> Chi-square etc, but not NMDS as it works on ranks so you'd get an odd
> representation of what adonis() or betadisper() do.
> 
> As for the rest, you seem to have that right, though the cmdscale() 
> call
> might take a little bit more effort if you want to handle negative
> Eigenvalues that arise with some dissimilarity metrics.
> 
> 
> On 10 August 2013 06:33, Vít Syrovátka <syrovat at sci.muni.cz> wrote:
> 
>> Dear Jonas,
>> I've just had a look into the paper (Friberg et al (2013)), but there 
>> is
>> no information on what kind of ordination they used (at least it is 
>> very
>> well hidden). Hard to believe, maybe I am wrong, but can't find 
>> anything
>> about that. And they used different ordination techniques to 
>> visualise the
>> groups with regard to the results of 'adonis()' and 'betadisper()' -
>> compare Fig.1 and Fig. 2. Maybe that brought the confusion.
>> 
>> The thing is that 'adonis()' tells you, whether the groups 
>> consistently
>> differ in their community composition, and then it's up to you to 
>> chose an
>> ordination technique to visualize the groups. Probably that would be 
>> an
>> ordination that approximates the same distances used in 'adonis()' 
>> (or
>> 'betadisper()'). The plot method of 'betadisper()' uses Principal
>> Coordinate Analysis (PCoA), which you can use to visualize the 
>> results of
>> 'adonis()' as well (as Gavin and Jari pointed out) or do it by your 
>> own or
>> choose another ordination technique.
>> 
>> A small example with PCoA:
>> 
>> ## taken from ?betadisper:
>> library(vegan)
>> data(varespec)
>> 
>> # create the dist object
>> dis <- vegdist(varespec)
>> 
>> # create grouping variable; First 16 sites grazed, remaining 8 sites
>> ungrazed
>> groups <- factor(c(rep(1,16), rep(2,8)), labels = 
>> c("grazed","ungrazed"))
>> 
>> # Calculate multivariate dispersions
>> mod <- betadisper(dis, groups)
>> 
>> # Plot PCoA ordination with differentiated groups = visualize the
>> dispersions of groups in 2D ordination space
>> plot(mod)
>> 
>> ## now create the same plot on my own (though with different graphic
>> parameters)
>> # calculate the PCoA ordination sites' scores
>> pcoa<- cmdscale(dis)
>> # plot them with different symbols for groups
>> plot(pcoa, asp=1)
>> # and add spiders and hulls
>> ordispider(pcoa, groups)
>> ordihull(pcoa, groups)
>> 
>> If I am wrong in any point, will be glad if someone corrects me.
>> Cheers,
>> Vit
>> 
>> 
>> Dne 2013-08-09 19:25, Gavin Simpson napsal:
>> 
>>  What Jari meant was if you use `betadisper()` on your data then it 
>> will
>>> give you an object that has a `plot()` method which will give you
>>> something
>>> of relevance to what `adonis()` and the whole PERMANOVA method is 
>>> doing.
>>> It
>>> plots the groups centroids and dispersions of the groups in 
>>> principal
>>> coordinates space. I don't have easy access to that journal at the 
>>> minute,
>>> but will look when I get back from this conference next week.
>>> 
>>> You can see how `betadisper` and its `plot` method works in the mean 
>>> time
>>> if you want to customise how things are plotted.
>>> 
>>> Gavin
>>> 
>>> On 9 August 2013 06:54, <Jonas.Persson at niva.no> wrote:
>>> 
>>>  Hi all
>>>> 
>>>> I'd like to plot my results from adonis (vegan). Internet searches 
>>>> found
>>>> me an older post here in which Jari Oksanen wrote: "adonis() does 
>>>> not
>>>> have
>>>> plot method, but  you can use betadisper for plots." But I'm afraid 
>>>> I
>>>> don't understand how to do it this way.
>>>> 
>>>> How can I a) make a plot of adonis results? b) manipulate the 
>>>> layout of
>>>> adonis/betadispers figures to my liking?
>>>> My main inspiration for both adonis and betadispers results 
>>>> plotting is
>>>> Friberg et al (2013) Hydrol. Process. 27, 734?740, so I'd like to 
>>>> be able
>>>> to produce something similar.
>>>> 
>>>> Cheers,
>>>> Jonas



More information about the R-sig-ecology mailing list