Thanks a lot for your answers, I am concerned by your advice not to use polynomial constraints, or to use QDA instead of RDA. My final goal is to perform variation partitioning using partial RDA to assess the relative importance of environmental vs spatial variables. For the spatial analyses, trend surface analysis (polynomial constraints) is recommended in Legendre and Legendre 1998 (p739). Is there a better method to integrate space as an explanatory variable in a variation partitioning analyses?
Also, I don't understand this: when I test for the significant contribution of monomials (forward elimination) >anova(rda(Helling ~ I(x^2)+Condition(x)+Condition(y))) performs the permutation test as expected, whereas >anova(rda(Helling ~ I(y^2)+Condition(x)+Condition(y))) Returns this error message: Error in "names<-.default"(`*tmp*`, value = "Model") : attempt to set an attribute on NULL Thanks again for your help Kind regards, Helene Helene MORLON University of California, Merced -----Original Message----- From: Jari Oksanen [mailto:[EMAIL PROTECTED] Sent: Monday, February 26, 2007 11:27 PM To: r-help@stat.math.ethz.ch Cc: [EMAIL PROTECTED] Subject: [R] RDA and trend surface regression > 'm performing RDA on plant presence/absence data, constrained by > geographical locations. I'd like to constrain the RDA by the "extended > matrix of geographical coordinates" -ie the matrix of geographical > coordinates completed by adding all terms of a cubic trend surface > regression- . > > This is the command I use (package vegan): > > > > >rda(Helling ~ x+y+x*y+x^2+y^2+x*y^2+y*x^2+x^3+y^3) > > > > where Helling is the matrix of Hellinger-transformed presence/absence data > > The result returned by R is exactly the same as the one given by: > > > > >anova(rda(Helling ~ x+y) > > > > Ie the quadratic and cubic terms are not taken into account > You must *I*solate the polynomial terms with function I ("AsIs") so that they are not interpreted as formula operators: rda(Helling ~ x + y + I(x*y) + I(x^2) + I(y^2) + I(x*y^2) + I(y*x^2) + I(x^3) + I(y^3)) If you don't have the interaction terms, then it is easier and better (numerically) to use poly(): rda(Helling ~ poly(x, 3) + poly(y, 3)) Another issue is that in my opinion using polynomial constraints is an Extremely Bad Idea(TM). cheers, Jari Oksanen ______________________________________________ R-help@stat.math.ethz.ch 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.