Hello Gavin, Thank you very much for your help. I'm sorry I forgot to include all commands that I used but next time I will try to write all of them. I will try with my real data and see how it goes. I think I finally have understood how capscale works with this kind of data. Thank you.
Regards, Alicia > On Fri, 2006-11-17 at 12:18 +0100, Alicia Amadoz wrote: > > Hello, > > > > Thank you for your help. I have tried to perform the analysis I wanted > > with data of example, I mean not real data because I can't provide it > > here. So, what I have tried is this, > > Hi Alicia, > > It would have been more helpful if you'd included the actual commands to > generate each object, but thanks for including an example. > > dat <- matrix(c(0.00,0.13,0.59,0.13,0.00,0.55,0.59,0.55,0.00), ncol = 3) > dist.mat <- as.dist(dat) > dist.mat > 1 2 > 2 0.13 > 3 0.59 0.55 > time <- as.factor(c(2006, 2005, 2005)) > region <- as.factor(c("europe", "africa", "europe")) > city <- as.factor(c("london", "nairobi", "paris")) > factors.frame <- data.frame(time, region, city) > > my.cap <- capscale(dist.mat ~ time + region + time:region + > region:city + time:region:city, factors.frame) > > my.cap > > So, stop here. Look at the output. You can extract 2 constrained axes > that explain 100% of the variance in your data. This causes my.cap$CA to > be NULL, which is why when you do: > > anova(my.cap) > > You get this error message: > > Error in `names<-.default`(`*tmp*`, value = "Residual") : > attempt to set an attribute on NULL > > The error has nothing to do with providing "comm" or not (I think) as I > don't see how this would alter my.cap$CA, and anyway, "comm" is used to > generate "species" scores and if you look at summary(my.cap) you will > see that you have species scores (though their meaning may be hard to > understand if no "comm" provided - see ?capscale) > > I hesitate to call this a bug in capscale() or permutest.cca() (this is > where the error comes from by the way: > > > traceback() > 5: `names<-.default`(`*tmp*`, value = "Residual") > 4: `names<-`(`*tmp*`, value = "Residual") > 3: permutest.cca(object, step, ...) > 2: anova.cca(my.cap) > 1: anova(my.cap) > > ), but anova.cca doesn't seem to handle situations where there isn't an > unconstrained component. I've CC'd Jari Oksanen, the author of vegan to > insure he sees this. > > This error is related to the specific dummy problem you sent - do you > get this error when you run the analysis on your full data set? If so, > you might want to consider removing some constraints as your model isn't > really constrained anymore. As number constraints approaches number > sites the constraint on the ordination drops away and you are back to a > Principal Coordinates Analysis (IIRC) of your dissimilarity matrix. > > > > anova(my.cap) > > Erro en `names<-.default`(`*tmp*`, value = "Residual") : > > se intenta especificar un atributo en un NULL > > > > Then, I am still concerned about 'comm' argument since I don't > > understand how important could it be for my type of data and I don't > > understand to what it referes in my data. Another thing, is that what I > > am really interested in is to perform a factorial anova with another > > factor nested (the model I have provided above), and as you can see R > > gives an error that I don't understand either. > > As for your original data - by the looks of it, you wouldn't be able to > use that as the argument to "comm". It would need to be numeric and > recoded etc. before you could use it, and how to do that in the best way > I'm not sure. > > But in this instance, if you are interested in the samples and how they > relate to one another, constrained by your factors_frame, then you don't > need "comm" and you can proceed without it, and not bother displaying > species scores. > > If you are interested in how the samples relate to one another and how > the nucleic acids relate to one another and the samples, constrained by > your factors_frame, then you will need to recode that example matrix > into something numeric, and even then it may not be possible with the > way capscale is written. > > Hope this helps, > > G > > > > > Thank you for your help in advance. > > Regards, > > Alicia > > > > > > > On Thu, 2006-11-16 at 17:25 +0100, Alicia Amadoz wrote: > > > > Hello, > > > > > > > > I am interested in using the capscale function of vegan package of R. I > > > > already have a dissimilarity matrix and I am intended to use it as > > > > 'distance' argument. But then, I don't know what kind of data must be in > > > > 'comm' argument. I don't understand what type of data must be referred > > > > as 'species scores' and 'community data frame' since my data refer to > > > > nucleic distances between different sequences. > > > > > > No, that is all wrong. Read ?capscale more closely! It says that you > > > need to use the formula to describe the model. "distance" is used to > > > tell capscale which distance coefficient to use if the LHS of the model > > > formula is a community matrix. > > > > > > Argument "comm" is used to tell capscale where to find the species > > > matrix that will be used to determine species scores in the analysis, > > > *if* the LHS of the formula is a distance matrix. "comm" isn't used if > > > the LHS is a data frame, and "distance" is ignored if the LHS is a > > > distance matrix. > > > > > > As you don't provide a reproducible example of your problem, I will use > > > the inbuilt example from ?capscale > > > > > > ## load some data > > > data(varespec) > > > data(varechem) > > > > > > Now if you want to fit a capscale model using the raw species data, then > > > you would describe the model as so: > > > > > > vare.cap <- capscale(varespec ~ N + P + K + Condition(Al), > > > data = varechem, > > > distance = "bray") > > > vare.cap > > > > > > In the above, LHS of formula is a data frame so capscale looks to > > > argument "distance" for the name of the coefficient to turn it into a > > > distance matrix. The terms on the RHS of the formula are variables > > > looked up in the object assigned to the "data" argument. > > > > > > Now lets alter this to start with a dissimilarity/distance matrix > > > instead. The exact complement of the above would be: > > > > > > dist.mat <- vegdist(varespec, method = "bray") > > > vare.cap2 <- capscale(dist.mat ~ N + P + K + Condition(Al), > > > data = varechem, > > > comm = varespec) > > > vare.cap2 > > > > > > To explain the above example; first create the Bray Curtis distance > > > matrix (dist.mat). Then use this on the LHS of the formula. When > > > capscale now wants to calculate the species scores of the analysis it > > > will look to argument "comm" to use in the calculation; which in this > > > case we specify is the original species matrix varespec. > > > > > > As for what are species scores, well this is a throw back to the origins > > > of the package and the methods included - all of this is related to > > > ecology and mainly vegetation analysis (hence vegan). > > > > > > For species scores, read variable scores. The distance matrix (however > > > calculated) describes how similar your individual sites (read samples) > > > are to one another. You can also display information about the variables > > > used to determine those distances/similarities, and this is what is > > > meant by species scores. Whatever you used to generate the distance > > > matrix, the columns represent the info used to generate the "species > > > scores". > > > > > > If some of this still isn't clear, email the list with the commands used > > > to generate your distance matrix in R and I'll have a go at explaining > > > this with reference to your data/example. > > > > > > > > > > > I would be very grateful if you could help me with this fact in any > > > > manner. Thank you in advance for your help. > > > > > > > > Regards, > > > > Alicia > > > > > > HTH > > > > > > G > > > > > > -- > > > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > > > Gavin Simpson [t] +44 (0)20 7679 0522 > > > ECRC & ENSIS, 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 > > > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > > > > > > > > > > > > > ______________________________________________ > > 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. > -- > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > Gavin Simpson [t] +44 (0)20 7679 0522 > ECRC & ENSIS, 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 > %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% > > > -- *********************************************** Alicia Amadoz Navarro Evolutionary Genetics Unit Cavanilles Institute for Biodiversity and Evolutionary Biology University of Valencia Apartado Oficial 22085 E-46071 Valencia SPAIN http://www.uv.es/~biodiver/v/index.htm Phone: (+34) 96 354 3687 FAX: (+34) 96 354 3733 e-mail: [EMAIL PROTECTED] http://www.uv.es/~amadoz *********************************************** NOTE! For shipments by EXPRESS COURIER use "Instituto Cavanilles de Biodiversidad y Biología Evolutiva, Polígono de la Coma s/n, 46980 Paterna (Valencia), Spain" instead of P.O. Box no. and Post Code/City above. ______________________________________________ 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.