H
ello R-experts,
  I want to do ordination plots using vegan metaMDS.
I have a where many cells have zero values.
Data structure:
X[1:10,1:14]
       Height.1 Height.2 Height.3 Height.4 Height.5 Height.6 Height.7
Height.8 Height.9 Height.10 Height.11 Height.12 Height.13
D30I1A       46        0        0        0        0        0        0
 0        0         0        39         0        98
D30I1B       46        0        0        0        0        0        0
 0        0         0        39         0        98
D30I1C       70        0        0        0        0        0        0
 0        0         0         0        85         0
D30I2A       47        0        0        0        0        0        0
 0        0         0        49         0       105
D30I2B       68        0        0        0        0        0        0
 0        0         0        83         0       214
D30I2C        0       75        0        0        0        0        0
 0        0         0         0        83         0
D30I3A       48        0        0        0        0        0        0
 0        0         0        42         0       107
D30I3B       64        0        0        0        0        0        0
 0        0         0        72         0       177
D30I3C       72        0        0        0        0        0        0
 0        0         0         0        96         0
D30M1A       60        0        0        0        0        0        0
 0        0         0        74         0       169

When I tried to perform metaMDS, it was not working, with the error
> ord1 <- metaMDS(
X
="bray")
Square root transformation
Wisconsin double standardization
Error in if (any(dist < -sqrt(.Machine$double.eps))) warning("some
dissimilarities are negative -- is this intentional?") :
  missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In distfun(comm, method = distance, ...) :
  you have empty rows: their dissimilarities may be meaningless in method
“bray”
2: In distfun(comm, method = distance, ...) : missing values in results

 I realised some of the values are either zero or similar.
I tried to check it with
distance
X
.dist <- metaMDSdist(
X
, method="bray")

got the error:
Square root transformation
Wisconsin double standardization
Error in distfun(comm, method = distance, ...) :
  formal argument "method" matched by multiple actual arguments
When I checked the distance I see some of the distances are NaN as for
example some rows of dist matrix:

D3M1A          NaN 1.000000000 1.000000000 1.000000000 1.000000000
1.000000000         NaN 1.000000000 1.000000000         NaN

::::

D3R1A          NaN 1.000000000 1.000000000 1.000000000 1.000000000
1.000000000         NaN 1.000000000 1.000000000         NaN
I searched all the details of metaMDS where it is suggested to avail the
argument 'zerodist'
So I tried both

X.dist1 <- metaMDSdist(X, method="bray",zerodist = "ignore")
X.dist2 <- metaMDSdist(X, method="bray",zerodist = "add")

But for both the cases I still have those NaN values in some distances.
I have read, one of the discussion says modify zero dissimilarities as:
If there is a good reason, and you want to include all samples, then you'll
need to come up with a means for handling them. metaMDSdist allow you to
add a small value to the zero dissimilarities. The details are in the code,
but effectively all zero distances are replaced by half the smallest non
zero distance. You could do a similar replacement yourself if you feel this
is warranted and/or justified.

minDij <- min(Dij[Dij > 0) / 2
Dij[Dij <= 0] <- minDij

But still I don't understand how can I modify the NaN values. In my data I
don't have any NA values. All the cells are either +ve or zero.

Please help me with this. Should I just replace all the NaN values with
zero? Please advice.

Thanks a lot,
Mitra

	[[alternative HTML version deleted]]

