[R-sig-eco] Rarefaction: scaling by individual accumulation as samples are pooled one by one

Ansley Silva daily.puja at gmail.com
Mon Oct 3 19:46:59 CEST 2016


Hello there,

I'm using R Version 3.3.1 and the Vegan package.

I have created rarefaction curves for my invertebrate community dataset.  I
have 2 sites: Contaminated (ap) and Uncontaminated (st).  Both are centered
around a pond.  At the contaminated site the contaminated in concentrated
in the pond.  So there is a gradient: distance away from water.   At each
site I have transects along a gradient with 4 distances away from the
ponds.  There is 0, 100, 200, and 300 meter away from the water's edge.  So
in the Rarefaction graph I have 8 curves representing samples collected
from the 4 distances for each of the two site (as can be seen from my
graph).
What I would like to do is created a rarefaction graph with only two
curves, representing contaminated and uncontaminated, where the x-axis is
still scaled by the number of individuals, but there is accumulation by
pooling distances one by one.  Similar to the example in Fig.3 (the lower
graph) of old growth vs. second growth in Colwell et al. 2004.  I am just
having trouble with coding this and haven't found any examples.

Thanks for any help,
-- 
Ansley Silva


*"The clearest way into the Universe is through a forest wilderness." John
Muir*


*Graduate Research Assistant*

*University of Georgia*

*D.B. Warnell School of Forestry and Natural Resources*

*180 East Green Street*

*Athens, GA 30602*
-------------- next part --------------
> data<- read.csv(file="APSTraref.csv", header=TRUE, row.names=1, sep=",")
> dput(head(data))


data<-structure(list(necsur = c(1L, 4L, 0L, 8L, 0L, 1L), necame = c(4L, 
5L, 9L, 9L, 4L, 7L), niccar = c(1L, 1L, 1L, 2L, 1L, 4L), nicorb = c(2L, 
20L, 23L, 26L, 3L, 12L), nicpus = c(0L, 0L, 1L, 0L, 0L, 0L), 
    nictor = c(0L, 2L, 1L, 3L, 2L, 1L), oicina = c(0L, 0L, 0L, 
    0L, 0L, 0L), delgib = c(10L, 31L, 47L, 48L, 15L, 55L), cancha = c(5L, 
    6L, 4L, 4L, 1L, 6L), melbis = c(3L, 0L, 1L, 3L, 0L, 1L), 
    atelec = c(4L, 6L, 28L, 22L, 8L, 52L), copmin = c(0L, 0L, 
    1L, 1L, 0L, 1L), ontcon = c(3L, 3L, 11L, 7L, 1L, 2L), ontdep = c(2L, 
    0L, 0L, 0L, 0L, 0L), onthec = c(17L, 15L, 9L, 6L, 6L, 2L), 
    ontstr = c(0L, 0L, 0L, 1L, 1L, 0L), onttau = c(20L, 13L, 
    6L, 2L, 0L, 2L), ontpen = c(2L, 3L, 5L, 3L, 2L, 4L), onttub = c(2L, 
    3L, 4L, 1L, 1L, 0L), ontsub = c(0L, 0L, 0L, 0L, 0L, 0L), 
    phaign = c(0L, 0L, 0L, 0L, 0L, 0L), phavin = c(1L, 0L, 0L, 
    0L, 0L, 1L), Phyili = c(0L, 0L, 0L, 0L, 0L, 1L), canvir = c(0L, 
    1L, 0L, 0L, 0L, 0L), hybill = c(1L, 0L, 0L, 0L, 0L, 0L), 
    chlema = c(0L, 0L, 0L, 0L, 0L, 0L), cyclev = c(0L, 0L, 0L, 
    0L, 1L, 1L), dicdil = c(0L, 0L, 0L, 0L, 0L, 0L), galjan = c(0L, 
    0L, 1L, 1L, 0L, 0L), cyclosig = c(0L, 0L, 0L, 0L, 1L, 0L), 
    omomon = c(1L, 2L, 4L, 10L, 1L, 6L), trofov = c(1L, 2L, 3L, 
    1L, 0L, 1L), trouni = c(1L, 0L, 0L, 1L, 0L, 0L), troter = c(0L, 
    1L, 1L, 0L, 0L, 0L), eusass = c(9L, 8L, 23L, 14L, 11L, 28L
    ), hiscoe = c(2L, 1L, 10L, 4L, 2L, 4L), hisabb = c(0L, 0L, 
    0L, 0L, 2L, 0L), sappen = c(0L, 0L, 0L, 0L, 0L, 0L), dercan = c(0L, 
    0L, 0L, 0L, 0L, 0L), cremax = c(4L, 7L, 1L, 2L, 2L, 5L), 
    plamac = c(1L, 0L, 3L, 2L, 2L, 2L), plafem = c(0L, 0L, 0L, 
    0L, 0L, 0L), plafos = c(1L, 1L, 3L, 2L, 1L, 2L), placom = c(6L, 
    3L, 3L, 10L, 13L, 7L), tacfim = c(0L, 0L, 1L, 0L, 0L, 0L), 
    cicsex = c(0L, 0L, 0L, 0L, 0L, 0L), spsK = c(0L, 0L, 0L, 
    0L, 0L, 0L)), .Names = c("necsur", "necame", "niccar", "nicorb", 
"nicpus", "nictor", "oicina", "delgib", "cancha", "melbis", "atelec", 
"copmin", "ontcon", "ontdep", "onthec", "ontstr", "onttau", "ontpen", 
"onttub", "ontsub", "phaign", "phavin", "Phyili", "canvir", "hybill", 
"chlema", "cyclev", "dicdil", "galjan", "cyclosig", "omomon", 
"trofov", "trouni", "troter", "eusass", "hiscoe", "hisabb", "sappen", 
"dercan", "cremax", "plamac", "plafem", "plafos", "placom", "tacfim", 
"cicsex", "spsK"), row.names = c("AP-0", "AP-100", "AP-200", 
"AP-300", "ST-0", "ST-100"), class = "data.frame")
> 
ap<-data[c(1:4), ]
st<-data[c(5:8), ]	

s<-specnumber(data)
raremax<-min(rowSums(data))
Srare<-rarefy(data, raremax)
dev.new()
plot(s, Srare, xlab="Average No. of Species", ylab="Rarefied No. of Species")
dev.new()
rarecurve(data, step=5, sample=raremax, col="darkorchid2", cex=1)



More information about the R-sig-ecology mailing list