RDA permutest envfit

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

RDA permutest envfit

Rémi Lesmerises
Dear all,

I did a RDA and when I looked to the signification of the test with permutest, the output was non-significant. But when I used the envfit function, some of the vectors are significant. All the test's conditions are respected. What it means? Is it an error in the script?


Commands and output:

> permutest(rda.ind, perm=999, first=TRUE)

Permutation test for rda 

Call: rda(formula = x ~ ARH_frs + CON_frs + PRP_frs + RUI_frs + VAM_frs, data = z)
Permutation test for first constrained eigenvalue
Pseudo-F:        4.093568 (with 1, 10 Degrees of Freedom)
Significance:    0.413 
Based on 999 permutations under reduced model.

> fit <- envfit(rda.ind, z, perm = 999, display = "lc")
> fit

***VECTORS

             RDA1      RDA2     r2 Pr(>r)    
VAM_frs  0.145281 -0.989390 0.2388  0.147    

ARH_frs -0.876494 -0.481413 0.6127  0.002 ** 
CON_frs  0.904278  0.426944 0.4846  0.013 *  
PRP_frs -0.997634  0.068755 0.9433  0.001 ***
RUI_frs -0.648512 -0.761204 0.6243  0.004 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
P values based on 999 permutations.

 
Rémi Lesmerises, biol. M.Sc.,
Candidat Ph.D. en Biologie
Université du Québec à Rimouski
[hidden email]

        [[alternative HTML version deleted]]


______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: RDA permutest envfit

Gavin Simpson
On Wed, 2013-04-24 at 10:38 -0700, Rémi Lesmerises wrote:
> Dear all,
>
> I did a RDA and when I looked to the signification of the test with
> permutest, the output was non-significant. But when I used the envfit
> function, some of the vectors are significant. All the test's
> conditions are respected. What it means? Is it an error in the script?

The two functions are testing two fundamentally different things.
`permutest` (as you invoked it --- `first = TRUE`) is testing the first
axis of the RDA. That axis is a linear combination of the constraints.

The `envfit` procedure is testing the individual correlations between
the 2-d configuration of samples in the RDA space and the direction of
maximal variance of the environmental data. Each variable is considered
separately.

I can easily imagine a case, where the variance explained on the first
axis is not significant but variance over 2 axes is significant, as one
where the vectors do not point solely along the first RDA axis but also
point along the 2nd axis. By looking only at their contributions to the
first axis and summing them you don't explain a whole lot, but when you
look at the directions in 2D space each variable explains a significant
amount of variance.

HTH

G

> Commands and output:
>
> > permutest(rda.ind, perm=999, first=TRUE)
>
> Permutation test for rda
>
> Call: rda(formula = x ~ ARH_frs + CON_frs + PRP_frs + RUI_frs +
> VAM_frs, data = z)
> Permutation test for first constrained eigenvalue
> Pseudo-F:        4.093568 (with 1, 10 Degrees of Freedom)
> Significance:    0.413
> Based on 999 permutations under reduced model.
>
> > fit <- envfit(rda.ind, z, perm = 999, display = "lc")
> > fit
>
> ***VECTORS
>
>              RDA1      RDA2     r2 Pr(>r)    
> VAM_frs  0.145281 -0.989390 0.2388  0.147    
>
> ARH_frs -0.876494 -0.481413 0.6127  0.002 **
> CON_frs  0.904278  0.426944 0.4846  0.013 *  
> PRP_frs -0.997634  0.068755 0.9433  0.001 ***
> RUI_frs -0.648512 -0.761204 0.6243  0.004 **
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> P values based on 999 permutations.
>
>  
> Rémi Lesmerises, biol. M.Sc.,
> Candidat Ph.D. en Biologie
> Université du Québec à Rimouski
> [hidden email]
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] 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.

--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: RDA permutest envfit

Rémi Lesmerises
Thank you!

A last question: Is it still the same explanation if I remove the condition "first=TRUE" (and then testing for all axis) and permutest gives the same result?
 
Rémi Lesmerises, biol. M.Sc.,
Candidat Ph.D. en Biologie
Université du Québec à Rimouski
[hidden email]



On Wed, 2013-04-24 at 10:38 -0700, Rémi Lesmerises wrote:
> Dear all,
>
> I did a RDA and when I looked to the signification of the test with
> permutest, the output was non-significant. But when I used the envfit
> function, some of the vectors are significant. All the test's
> conditions are respected. What it means? Is it an error in the script?

The two functions are testing two fundamentally different things.
`permutest` (as you invoked it --- `first = TRUE`) is testing the first
axis of the RDA. That axis is a linear combination of the constraints.

The `envfit` procedure is testing the individual correlations between
the 2-d configuration of samples in the RDA space and the direction of
maximal variance of the environmental data. Each variable is considered
separately.

I can easily imagine a case, where the variance explained on the first
axis is not significant but variance over 2 axes is significant, as one
where the vectors do not point solely along the first RDA axis but also
point along the 2nd axis. By looking only at their contributions to the
first axis and summing them you don't explain a whole lot, but when you
look at the directions in 2D space each variable explains a significant
amount of variance.

HTH

G

> Commands and output:
>
> > permutest(rda.ind, perm=999, first=TRUE)
>
> Permutation test for rda
>
> Call: rda(formula = x ~ ARH_frs + CON_frs + PRP_frs + RUI_frs +
> VAM_frs, data = z)
> Permutation test for first constrained eigenvalue
> Pseudo-F:        4.093568 (with 1, 10 Degrees of Freedom)
> Significance:    0.413
> Based on 999 permutations under reduced model.
>
> > fit <- envfit(rda.ind, z, perm = 999, display = "lc")
> > fit
>
> ***VECTORS
>
>              RDA1      RDA2     r2 Pr(>r)   
> VAM_frs  0.145281 -0.989390 0.2388  0.147   
>
> ARH_frs -0.876494 -0.481413 0.6127  0.002 **
> CON_frs  0.904278  0.426944 0.4846  0.013 * 
> PRP_frs -0.997634  0.068755 0.9433  0.001 ***
> RUI_frs -0.648512 -0.761204 0.6243  0.004 **
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> P values based on 999 permutations.
>
> 
> Rémi Lesmerises, biol. M.Sc.,
> Candidat Ph.D. en Biologie
> Université du Québec à Rimouski
> [hidden email]
>
>     [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] 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.
--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
        [[alternative HTML version deleted]]


______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: RDA permutest envfit

Gavin Simpson
On Wed, 2013-04-24 at 13:13 -0700, Rémi Lesmerises wrote:
> Thank you!
>
> A last question: Is it still the same explanation if I remove the
> condition "first=TRUE" (and then testing for all axis) and permutest
> gives the same result?

No; again `permutest(...., first = FALSE)` and `envfit()` are testing
different models/fits but how they are different is not the same as with
your previous question.

`permutest(...., first = FALSE)` is testing whether the variance
explained by the k environmental variable (k = 4 I believe in your case)
is sufficiently large as to be unusual when compared to the variance
explained under a null model (achieved by permuting residuals,
propagating those residuals plus fitted values to give new data and
refitting the model on those new data). `envfit()` is doing what it
always did; assessing whether the correlation between the vector and the
2-d configuration is unusually large.

In the `permutest(...., first = FALSE)` case, you have a model with 4df.
In the `envfit()` case you have 4 models each with 1 degree of freedom.

The two methods also differ in terms of the role played by the
environmental data. In the `permutest` case, the environmental data are
the predictors. In the `envfit` case the env data are the responses and
the axis scores in the 2 dimensions chosen are the predictors.

HTH

G

> Rémi Lesmerises, biol. M.Sc.,
> Candidat Ph.D. en Biologie
> Université du Québec à Rimouski
> [hidden email]
>
>
>
> On Wed, 2013-04-24 at 10:38 -0700, Rémi Lesmerises wrote:
> > Dear all,
> >
> > I did a RDA and when I looked to the signification of the test with
> > permutest, the output was non-significant. But when I used the envfit
> > function, some of the vectors are significant. All the test's
> > conditions are respected. What it means? Is it an error in the script?
>
> The two functions are testing two fundamentally different things.
> `permutest` (as you invoked it --- `first = TRUE`) is testing the first
> axis of the RDA. That axis is a linear combination of the constraints.
>
> The `envfit` procedure is testing the individual correlations between
> the 2-d configuration of samples in the RDA space and the direction of
> maximal variance of the environmental data. Each variable is considered
> separately.
>
> I can easily imagine a case, where the variance explained on the first
> axis is not significant but variance over 2 axes is significant, as one
> where the vectors do not point solely along the first RDA axis but also
> point along the 2nd axis. By looking only at their contributions to the
> first axis and summing them you don't explain a whole lot, but when you
> look at the directions in 2D space each variable explains a significant
> amount of variance.
>
> HTH
>
> G
>
> > Commands and output:
> >
> > > permutest(rda.ind, perm=999, first=TRUE)
> >
> > Permutation test for rda
> >
> > Call: rda(formula = x ~ ARH_frs + CON_frs + PRP_frs + RUI_frs +
> > VAM_frs, data = z)
> > Permutation test for first constrained eigenvalue
> > Pseudo-F:        4.093568 (with 1, 10 Degrees of Freedom)
> > Significance:    0.413
> > Based on 999 permutations under reduced model.
> >
> > > fit <- envfit(rda.ind, z, perm = 999, display = "lc")
> > > fit
> >
> > ***VECTORS
> >
> >              RDA1      RDA2     r2 Pr(>r)    
> > VAM_frs  0.145281 -0.989390 0.2388  0.147    
> >
> > ARH_frs -0.876494 -0.481413 0.6127  0.002 **
> > CON_frs  0.904278  0.426944 0.4846  0.013 *  
> > PRP_frs -0.997634  0.068755 0.9433  0.001 ***
> > RUI_frs -0.648512 -0.761204 0.6243  0.004 **
> > ---
> > Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> > P values based on 999 permutations.
> >
> >  
> > Rémi Lesmerises, biol. M.Sc.,
> > Candidat Ph.D. en Biologie
> > Université du Québec à Rimouski
> > [hidden email]
> >
> >     [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > [hidden email] 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.
>

--
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
[hidden email] 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.