Hello R-Ecologists,

I am working with the dbFD function of the FD package to analyze some
functional community data, and I'm confused about the value of sing.sp in
the output.  Basically, the number of functionally singular species
(sing.sp) equals the raw number of species (nbsp) for every site in my
community matrix.  However, I know for a fact that many sites have species
with identical functional classifications, which in this case are all
categorical (there is 1 continuous variable, but I get sing.sp = nbsp
regardless of whether the continuous variable is included or excluded).

If two species have identical functional classifications, then shouldn't
they be functionally singular?  Or is sing.sp calculated in some
non-intuitive way, perhaps along the lines of taxonomic distinctness?  Or
does sing.sp just not work for categorical data?

I suspect that I am simply confused about what sing.sp means, in which case
this is really more an ecology question than an R question per se.  I have
not found anything in the help files or the FD documentation or the
literature that explains how sing.sp is calculated, does anyone here know?
 It's certainly possible that something in my code is wrong, or that this is
a bug in FD, so I hope that someone on this list can shed light on the
issue.

Here is a simplified example showing what I mean (this is similar to my data
in that functional categories are nominal and the community matrix has only
presence/absence data)

fd <- matrix (c("a","b","c","d", "a","b","c","d",
"b","c","d","a", "c","d","b","a"), byrow = TRUE, nrow=4, ncol=4)
    rownames (fd) <- c("spA", "spB", "spC", "spD")      #  species
    colnames (fd) <- c("F1", "F2", "F3", "F4")       # functional categories

fd      # note that spA and spB are functionally identical

comm <- matrix (c(1,0,1,0, 1,0,1,0, 0,1,1,0, 0,1,0,1), nrow=4, ncol=4)
    rownames (comm) <- c("site1", "site2", "site3", "site4")
    colnames (comm) <- c("spA", "spB", "spC", "spD")

comm      # note that site 1 has only spA and spB, so I'd expect it to
               # have sing.sp = 0 (no singular species, or perhaps 1
               # if it means the site has 1 type of species??)

require (FD)
ex1 <- dbFD (fd, comm, w.abun = FALSE, corr="cailliez", clust.type="ward")
ex1      # site 1 comes out with nbsp = sing.sp = 2, which is surprising

Any explanations / insight / advice would be greatly appreciated!

Many thanks,
Sarah
University of Chicago

	[[alternative HTML version deleted]]

