[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