[R-sig-eco] null models with continuous abundance data

Etienne Laliberté etiennelaliberte at gmail.com
Wed Jan 6 08:55:45 CET 2010


Hi,

Let's say I have measured plant biomass for a total of 5 species from 3
sites (i.e. plots), such that I end with the following data matrix

mat <- matrix(c(0.35, 0.12, 0.61, 0, 0, 0.28, 0, 0.42, 0.31, 0.19, 0.82,
0, 0, 0, 0.25), 3, 5, byrow = T)

dimnames(mat) <- list(c("site1", "site2", "site3"), c("sp1", "sp2",
"sp3", "sp4", "sp5"))

Data is therefore continuous. I want to generate n random community
matrices which both respect the following constraints:

1) row and column totals are kept constant, such that "productivity" of
each site is maintained, and that rare species at a "regional" level
stay rare (and vice-versa).

2) number of species in each plot is kept constant, i.e. each row
maintains the same number of zeros, though these zeros should not stay
fixed.

To deal with continuous data, my initial idea was to transform the
continuous data in mat to integer data by

mat2 <- floor(mat * 100 / min(mat[mat > 0]) )

where multiplying by 100 is only used to reduce the effect of rounding
to nearest integer (a bit arbitrary). In a way, shuffling mat could now
be seen as re-allocating "units of biomass" randomly to plots. However,
doing so results in a matrix with large number of "individuals" to
reshuffle, which can slow things down quite a bit. But this is only part
of the problem.

My main problem has been to find an algorithm that can actually respect
constraints 1 and 2. Despite trying various R functions (r2dtable,
permatfull, etc), I have not yet been able to find one that can do
this. 

I've had some kind help from Peter Solymos who suggested that I try the
aylmer package, and it's *almost* what I need, but the problem is that
their algorithm does not allow for the zeros to move within the matrix;
they stay fixed. I want the number of zeros to stay constant within each
row, but I want them to move freely betweem columns.

Any help would be very much appreciated.

Thanks

-- 
Etienne Laliberté
================================
School of Forestry
University of Canterbury
Private Bag 4800
Christchurch 8140, New Zealand
Phone: +64 3 366 7001 ext. 8365
Fax: +64 3 364 2124
www.elaliberte.info



More information about the R-sig-ecology mailing list