Edwin Lebrija Trejos wrote
Hi, First I should note I am relatively new to R so I would appreciate
answers that take this into account.
I am trying to perform an MDS ordination using the function ?metaMDS? of
the ?vegan? package. I want to ordinate species according to a set of
functional traits. ?Species? here refers to ?sites? in traditional
vegetation analyses while ?traits? here correspond to ?species? in such
analyses.
My data looks like this:
Trait1 Trait2 Trait3 Trait4 Trait5 Trait?
Species1 228.44 16.56 1.66 13.22 1 short
Species2 150.55 28.07 0.41 0.60 1 mid
Species3 NA 25.89 NA 0.55 0 large
Species4 147.70 17.65 0.42 1.12 NA large
Species? 132.68 NA 1.28 2.75 0 short
Because the traits have different variable types, different measurement
scales, and also missing values for some species, I have calculated the
matrix of species distances using the Gower coefficient of similarity
available in Package ?FD? (which allows missing values).
My problem comes when I create a bi-plot of species and traits. As I have
used a distance matrix in function ?metaMDS? there are no species scores
available. This is given as a warning in R:
"> NMDSgowdis<- metaMDS(SpeciesGowdis)
plot(NMDSgowdis, type = "t")
Warning message:In ordiplot(x, choices = choices, type = type, display =
display, :Species scores not available?
I have read from internet resources that in principle I could obtain the
trait ("species") scores to plot them in the ordination but my attempts
have been unsuccessful. I have tried using the function ?wascores? in
package vegan and ?add.spec.scores? in package BiodiversityR. For this
purpuse I have created a new species x traits table where factor traits
were coded into dummy variables and all integer variables (including
binary) were coerced to numeric variables. Here are the codes used and the
error messages I have got:
?> NMDSgowdis<- metaMDS(SpeciesGowdis)
NMDSpoints<-postMDS(NMDSgowdis$points,SpeciesGowdis)
NMDSwasc<-wascores(NMDSpoints,TraitsNMDSdummies)
Error in if (any(w < 0) || sum(w) == 0) stop("weights must be non-negative
and not all zero") : missing value where TRUE/FALSE needed?
I imagine the problem is with the NA?s in the data.
Alternatively, I have used the ?add.spec.scores? function,
method=?cor.scores?, found in package BiodiversityR. This seemed to work,
as I got no error message, but the species scores were not returned. Here
the R code and results:
?>
A<-add.spec.scores(ordi=NMDSgowdis,comm=TraitsNMDSdummies,method="cor.scores",multi=1,
Rscale=F,scaling="1")
Warning message:In ordiplot(x, choices = choices, type = type, display =
display, :Species scores not available?
Can anyone guide me to get the trait (?species?) scores to plot together
with my species (?site?) scores?
Thanks in advance,
Edwin