Hi Jari,

You're right- traceback does indicate that it's wascores() is where it's
choking.

I do indeed have negative values (but no zeros) in the matrix that returns
from

tmp <- decostand(orig.data, "norm")

However, if I go through the whole process with vegdist() to estimate a
chord distance matrix, e.g.,

vegdist(decostand(as.matrix(orig.data), "norm"),"euclidean")

all the values in the *distance matrix* are between 0 and root 2 (all
non-zero) with no negative values.

So the problem is my original data matrix? As I mentioned, they are
z-scored... and it looks like the ordination works fine otherwise, it's just
the fact that I want my species scores and that's where it's
choking... should I just add some arbitrary value to all observations to
make them non-negative and go from there? Or try the "old" method of
estimating species scores? Or am I doomed from the start by using a data
matrix that is Z-score standardized to begin with?

Thanks again,

Mike

On Wed, Sep 22, 2010 at 2:27 PM, Jari Oksanen <jari.oksanen@oulu.fi> wrote:

> On 22/09/10 22:01 PM, "Mike Rennie" <mikerennie.r@gmail.com> wrote:
>
> > Thanks Jari- however, when I try this code, it gives me some results for
> > runs with stresses, says I have a solution reached, and then I get an
> error:
> >
> > Error in cov.wt(x, x.w) : weights must be non-negative and not all zero
> >
> > I'm assuming this is saying I have either zeros or negative values in my
> > distance matrix? Which I shouldn't- when I specify the distance matrix
> > outside of metaMDS, it's all values between 0 and root 2, and I don't see
> > any zero values.
>
> Mike,
>
> The error message comes probably from wascores() that finds the species
> scores after ordination. To be sure, you can say traceback() after getting
> the error message to see how the error is propagated.
>
> I'm sure that the computer is correct if she claims that some of your
> species abundances are non-negative or that all are zero. If you think
> otherwise, you're wrong. Don't argue with computers. If this is wascores()
> like I assume, the error is caused by the transformed abundance data, and
> not by the dissimilarities. Create transformed data with
>
> tmp <- decostand(orig.data, "norm")
>
> and see if there are any negative values (min(tmp), any(tmp < 0)), or all
> zero columns (any(colSums(tmp) <= 0)).
>
> Cheers, Jari Oksanen
>
>

	[[alternative HTML version deleted]]

